🧪 Marco Grammar Test Results

Generated from JSON specifications • 2025-09-12 21:22:55 UTC
1205
Total Tests
1199
Passed
5
Failed
0
Expected Failures
1
Unknown Rules
99.5%
Success Rate
Comprehensive Marco Grammar Tests - Commonmark Links 90/90 passed
Example 872
✅ PASSED
Rule: document
[link](/uri \"title\")\n
document [link](/uri \"title\")\n ├─ block [link](/uri \"title\") └─ paragraph [link](/uri \"title\") └─ paragraph_line [link](/uri \"title\") └─ inline [link](/uri \"title\") └─ inline_core [link](/uri \"title\") └─ inline_link [link](/uri \"title\") └─ bracket_link_without_title [link](/uri \"title\") └─ block \n └─ unknown_block \n
Example 873
✅ PASSED
Rule: document
[link](/uri)\n
document [link](/uri)\n ├─ block [link](/uri) └─ paragraph [link](/uri) └─ paragraph_line [link](/uri) └─ inline [link](/uri) └─ inline_core [link](/uri) └─ inline_link [link](/uri) └─ bracket_link_without_title [link](/uri) └─ block \n └─ unknown_block \n
Example 874
✅ PASSED
Rule: document
[](./target.md)\n
document [](./target.md)\n ├─ block [](./target.md) └─ paragraph [](./target.md) └─ paragraph_line [](./target.md) └─ inline [](./target.md) └─ inline_core [](./target.md) └─ inline_link [](./target.md) └─ bracket_link_without_title [](./target.md) └─ block \n └─ unknown_block \n
Example 875
✅ PASSED
Rule: document
[link]()\n
document [link]()\n ├─ block [link]() └─ paragraph [link]() └─ paragraph_line [link]() └─ inline [link]() └─ inline_core [link]() └─ text [link]() ├─ word link ├─ safe_punct ( └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 876
✅ PASSED
Rule: document
[link](<>)\n
document [link](<>)\n ├─ block [link](<>) └─ paragraph [link](<>) └─ paragraph_line [link](<>) └─ inline [link](<>) └─ inline_core [link](<>) └─ text [link](<>) ├─ word link ├─ safe_punct ( └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 877
✅ PASSED
Rule: document
[]()\n
document []()\n ├─ block []() └─ paragraph []() └─ paragraph_line []() └─ inline []() └─ inline_core []() └─ text []() ├─ safe_punct ( └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 878
✅ PASSED
Rule: document
[link](/my uri)\n
document [link](/my uri)\n ├─ block [link](/my uri) └─ paragraph [link](/my uri) └─ paragraph_line [link](/my uri) └─ inline [link](/my uri) └─ inline_core [link](/my uri) └─ inline_link [link](/my uri) └─ bracket_link_without_title [link](/my uri) └─ block \n └─ unknown_block \n
Example 879
✅ PASSED
Rule: document
[link](</my uri>)\n
document [link](</my uri>)\n ├─ block [link](</my uri>) └─ paragraph [link](</my uri>) └─ paragraph_line [link](</my uri>) └─ inline [link](</my uri>) └─ inline_core [link](</my uri>) └─ text [link](</my uri>) ├─ word link ├─ safe_punct ( ├─ safe_punct / ├─ word my ├─ word uri └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 880
✅ PASSED
Rule: document
[link](foo\nbar)\n
document [link](foo\nbar)\n ├─ block [link](foo └─ paragraph [link](foo └─ paragraph_line [link](foo └─ inline [link](foo └─ inline_core [link](foo └─ text [link](foo ├─ word link ├─ safe_punct ( └─ word foo └─ block \nbar)\n └─ unknown_block \nbar)\n
Example 881
✅ PASSED
Rule: document
[link](<foo\nbar>)\n
document [link](<foo\nbar>)\n ├─ block [link](<foo └─ paragraph [link](<foo └─ paragraph_line [link](<foo └─ inline [link](<foo └─ inline_core [link](<foo └─ text [link](<foo ├─ word link ├─ safe_punct ( └─ word foo └─ block \nbar>)\n └─ unknown_block \nbar>)\n
Example 882
✅ PASSED
Rule: document
[a](<b)c>)\n
document [a](<b)c>)\n ├─ block [a](<b)c>) └─ paragraph [a](<b)c>) └─ paragraph_line [a](<b)c>) └─ inline [a](<b)c>) └─ inline_core [a](<b)c>) └─ text [a](<b)c>) ├─ word a ├─ safe_punct ( ├─ word b ├─ safe_punct ) ├─ word c └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 883
✅ PASSED
Rule: document
[link](<foo\\>)\n
document [link](<foo\\>)\n ├─ block [link](<foo\\>) └─ paragraph [link](<foo\\>) └─ paragraph_line [link](<foo\\>) ├─ inline [link](<foo └─ inline_core [link](<foo └─ text [link](<foo ├─ word link ├─ safe_punct ( └─ word foo ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline >) └─ inline_core >) └─ text >) └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 884
✅ PASSED
Rule: document
[a](<b)c\n[a](<b)c>\n[a](<b>c)\n
document [a](<b)c\n[a](<b)c>\n[a](<b>c)\n ├─ block [a](<b)c └─ paragraph [a](<b)c └─ paragraph_line [a](<b)c └─ inline [a](<b)c └─ inline_core [a](<b)c └─ text [a](<b)c ├─ word a ├─ safe_punct ( ├─ word b ├─ safe_punct ) └─ word c └─ block \n[a](<b)c>\n[a](<b>c)\n └─ unknown_block \n[a](<b)c>\n[a](<b>c)\n
Example 885
✅ PASSED
Rule: document
[link](\\(foo\\))\n
document [link](\\(foo\\))\n ├─ block [link](\\(foo\\)) └─ paragraph [link](\\(foo\\)) └─ paragraph_line [link](\\(foo\\)) ├─ inline [link]( └─ inline_core [link]( └─ text [link]( ├─ word link └─ safe_punct ( ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline (foo └─ inline_core (foo └─ text (foo ├─ safe_punct ( └─ word foo ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline )) └─ inline_core )) └─ text )) ├─ safe_punct ) └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 886
✅ PASSED
Rule: document
[link](foo(and(bar)))\n
document [link](foo(and(bar)))\n ├─ block [link](foo(and(bar))) └─ paragraph [link](foo(and(bar))) └─ paragraph_line [link](foo(and(bar))) └─ inline [link](foo(and(bar))) └─ inline_core [link](foo(and(bar))) └─ text [link](foo(and(bar))) ├─ word link ├─ safe_punct ( ├─ word foo ├─ safe_punct ( ├─ word and ├─ safe_punct ( ├─ word bar ├─ safe_punct ) ├─ safe_punct ) └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 887
✅ PASSED
Rule: document
[link](foo(and(bar))\n
document [link](foo(and(bar))\n ├─ block [link](foo(and(bar)) └─ paragraph [link](foo(and(bar)) └─ paragraph_line [link](foo(and(bar)) └─ inline [link](foo(and(bar)) └─ inline_core [link](foo(and(bar)) └─ text [link](foo(and(bar)) ├─ word link ├─ safe_punct ( ├─ word foo ├─ safe_punct ( ├─ word and ├─ safe_punct ( ├─ word bar ├─ safe_punct ) └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 888
✅ PASSED
Rule: document
[link](foo\\(and\\(bar\\))\n
document [link](foo\\(and\\(bar\\))\n ├─ block [link](foo\\(and\\(bar\\)) └─ paragraph [link](foo\\(and\\(bar\\)) └─ paragraph_line [link](foo\\(and\\(bar\\)) ├─ inline [link](foo └─ inline_core [link](foo └─ text [link](foo ├─ word link ├─ safe_punct ( └─ word foo ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline (and └─ inline_core (and └─ text (and ├─ safe_punct ( └─ word and ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline (bar └─ inline_core (bar └─ text (bar ├─ safe_punct ( └─ word bar ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline )) └─ inline_core )) └─ text )) ├─ safe_punct ) └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 889
✅ PASSED
Rule: document
[link](<foo(and(bar)>)\n
document [link](<foo(and(bar)>)\n ├─ block [link](<foo(and(bar)>) └─ paragraph [link](<foo(and(bar)>) └─ paragraph_line [link](<foo(and(bar)>) └─ inline [link](<foo(and(bar)>) └─ inline_core [link](<foo(and(bar)>) └─ text [link](<foo(and(bar)>) ├─ word link ├─ safe_punct ( ├─ word foo ├─ safe_punct ( ├─ word and ├─ safe_punct ( ├─ word bar ├─ safe_punct ) └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 890
✅ PASSED
Rule: document
[link](foo\\)\\:)\n
document [link](foo\\)\\:)\n ├─ block [link](foo\\)\\:) └─ paragraph [link](foo\\)\\:) └─ paragraph_line [link](foo\\)\\:) ├─ inline [link](foo └─ inline_core [link](foo └─ text [link](foo ├─ word link ├─ safe_punct ( └─ word foo ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline ) └─ inline_core ) └─ text ) └─ safe_punct ) ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline :) └─ inline_core :) └─ text :) ├─ safe_punct : └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 891
✅ PASSED
Rule: document
[link](#fragment)\n\n[link](http://example.com#fragment)\n\n[link](http://example.com?foo=3#frag)\n
document [link](#fragment)\n\n[link](http://example.com#fragment)\n\n[link](http://example.com?foo=3#frag)\n ├─ block [link](#fragment) └─ paragraph [link](#fragment) └─ paragraph_line [link](#fragment) └─ inline [link](#fragment) └─ inline_core [link](#fragment) └─ inline_link [link](#fragment) └─ bracket_link_without_title [link](#fragment) └─ block \n\n[link](http://example.com#fragment)\n\n[link](http://example.com?foo=3#frag)\n └─ unknown_block \n\n[link](http://example.com#fragment)\n\n[link](http://example.com?foo=3#frag)\n
Example 892
✅ PASSED
Rule: document
[link](foo\\bar)\n
document [link](foo\\bar)\n ├─ block [link](foo\\bar) └─ paragraph [link](foo\\bar) └─ paragraph_line [link](foo\\bar) ├─ inline [link](foo └─ inline_core [link](foo └─ text [link](foo ├─ word link ├─ safe_punct ( └─ word foo ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline bar) └─ inline_core bar) └─ text bar) ├─ word bar └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 893
✅ PASSED
Rule: document
[link](foo%20bä)\n
document [link](foo%20b&auml;)\n ├─ block [link](foo%20b&auml;) └─ paragraph [link](foo%20b&auml;) └─ paragraph_line [link](foo%20b&auml;) └─ inline [link](foo%20b&auml;) └─ inline_core [link](foo%20b&auml;) └─ text [link](foo%20b&auml;) ├─ word link ├─ safe_punct ( ├─ word foo ├─ safe_punct % ├─ word 20b ├─ safe_punct & ├─ word auml ├─ safe_punct ; └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 894
✅ PASSED
Rule: document
[link](\"title\")\n
document [link](\"title\")\n ├─ block [link]( └─ paragraph [link]( └─ paragraph_line [link]( └─ inline [link]( └─ inline_core [link]( └─ text [link]( ├─ word link └─ safe_punct ( └─ block \"title\")\n └─ unknown_block \"title\")\n
Example 895
✅ PASSED
Rule: document
[link](/url \"title\")\n[link](/url 'title')\n[link](/url (title))\n
document [link](/url \"title\")\n[link](/url 'title')\n[link](/url (title))\n ├─ block [link](/url \"title\") └─ paragraph [link](/url \"title\") └─ paragraph_line [link](/url \"title\") └─ inline [link](/url \"title\") └─ inline_core [link](/url \"title\") └─ inline_link [link](/url \"title\") └─ bracket_link_without_title [link](/url \"title\") └─ block \n[link](/url 'title')\n[link](/url (title))\n └─ unknown_block \n[link](/url 'title')\n[link](/url (title))\n
Example 896
✅ PASSED
Rule: document
[link](/url \"title \\\""\")\n
document [link](/url \"title \\\"&quot;\")\n ├─ block [link](/url \"title \\\"&quot;\") └─ paragraph [link](/url \"title \\\"&quot;\") └─ paragraph_line [link](/url \"title \\\"&quot;\") └─ inline [link](/url \"title \\\"&quot;\") └─ inline_core [link](/url \"title \\\"&quot;\") └─ inline_link [link](/url \"title \\\"&quot;\") └─ bracket_link_without_title [link](/url \"title \\\"&quot;\") └─ block \n └─ unknown_block \n
Example 897
✅ PASSED
Rule: document
[link](/url\"title\")\n
document [link](/url\"title\")\n ├─ block [link](/url\"title\") └─ paragraph [link](/url\"title\") └─ paragraph_line [link](/url\"title\") └─ inline [link](/url\"title\") └─ inline_core [link](/url\"title\") └─ inline_link [link](/url\"title\") └─ bracket_link_without_title [link](/url\"title\") └─ block \n └─ unknown_block \n
Example 898
✅ PASSED
Rule: document
[link](/url \"title \"and\" title\")\n
document [link](/url \"title \"and\" title\")\n ├─ block [link](/url \"title \"and\" title\") └─ paragraph [link](/url \"title \"and\" title\") └─ paragraph_line [link](/url \"title \"and\" title\") └─ inline [link](/url \"title \"and\" title\") └─ inline_core [link](/url \"title \"and\" title\") └─ inline_link [link](/url \"title \"and\" title\") └─ bracket_link_without_title [link](/url \"title \"and\" title\") └─ block \n └─ unknown_block \n
Example 899
✅ PASSED
Rule: document
[link](/url 'title \"and\" title')\n
document [link](/url 'title \"and\" title')\n ├─ block [link](/url 'title \"and\" title') └─ paragraph [link](/url 'title \"and\" title') └─ paragraph_line [link](/url 'title \"and\" title') └─ inline [link](/url 'title \"and\" title') └─ inline_core [link](/url 'title \"and\" title') └─ inline_link [link](/url 'title \"and\" title') └─ bracket_link_without_title [link](/url 'title \"and\" title') └─ block \n └─ unknown_block \n
Example 900
✅ PASSED
Rule: document
[link]( /uri\n \"title\" )\n
document [link]( /uri\n \"title\" )\n ├─ block [link]( /uri └─ paragraph [link]( /uri └─ paragraph_line [link]( /uri └─ inline [link]( /uri └─ inline_core [link]( /uri └─ text [link]( /uri ├─ word link ├─ safe_punct ( ├─ safe_punct / └─ word uri └─ block \n \"title\" )\n └─ unknown_block \n \"title\" )\n
Example 901
✅ PASSED
Rule: document
[link] (/uri)\n
document [link] (/uri)\n ├─ block [link] (/uri) └─ paragraph [link] (/uri) └─ paragraph_line [link] (/uri) └─ inline [link] (/uri) └─ inline_core [link] (/uri) └─ text [link] (/uri) ├─ word link ├─ safe_punct ( ├─ safe_punct / ├─ word uri └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 902
✅ PASSED
Rule: document
[link [foo [bar]]](/uri)\n
document [link [foo [bar]]](/uri)\n ├─ block [link [foo [bar]]](/uri) └─ paragraph [link [foo [bar]]](/uri) └─ paragraph_line [link [foo [bar]]](/uri) └─ inline [link [foo [bar]]](/uri) └─ inline_core [link [foo [bar]]](/uri) └─ text [link [foo [bar]]](/uri) ├─ word link ├─ word foo ├─ word bar ├─ safe_punct ( ├─ safe_punct / ├─ word uri └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 903
✅ PASSED
Rule: document
[link] bar](/uri)\n
document [link] bar](/uri)\n ├─ block [link] bar](/uri) └─ paragraph [link] bar](/uri) └─ paragraph_line [link] bar](/uri) └─ inline [link] bar](/uri) └─ inline_core [link] bar](/uri) └─ text [link] bar](/uri) ├─ word link ├─ word bar ├─ safe_punct ( ├─ safe_punct / ├─ word uri └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 904
✅ PASSED
Rule: document
[link [bar](/uri)\n
document [link [bar](/uri)\n ├─ block [link [bar](/uri) └─ paragraph [link [bar](/uri) └─ paragraph_line [link [bar](/uri) └─ inline [link [bar](/uri) └─ inline_core [link [bar](/uri) └─ text [link [bar](/uri) ├─ word link ├─ word bar ├─ safe_punct ( ├─ safe_punct / ├─ word uri └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 905
✅ PASSED
Rule: document
[link \\[bar](/uri)\n
document [link \\[bar](/uri)\n ├─ block [link \\[bar](/uri) └─ paragraph [link \\[bar](/uri) └─ paragraph_line [link \\[bar](/uri) └─ inline [link \\[bar](/uri) └─ inline_core [link \\[bar](/uri) └─ inline_link [link \\[bar](/uri) └─ bracket_link_without_title [link \\[bar](/uri) └─ block \n └─ unknown_block \n
Example 906
✅ PASSED
Rule: document
[link *foo **bar** `#`*](/uri)\n
document [link *foo **bar** `#`*](/uri)\n ├─ block [link *foo **bar** `#`*](/uri) └─ paragraph [link *foo **bar** `#`*](/uri) └─ paragraph_line [link *foo **bar** `#`*](/uri) └─ inline [link *foo **bar** `#`*](/uri) └─ inline_core [link *foo **bar** `#`*](/uri) └─ inline_link [link *foo **bar** `#`*](/uri) └─ bracket_link_without_title [link *foo **bar** `#`*](/uri) └─ block \n └─ unknown_block \n
Example 907
✅ PASSED
Rule: document
[![moon](moon.jpg)](/uri)\n
document [![moon](moon.jpg)](/uri)\n ├─ block [![moon](moon.jpg)](/uri) └─ paragraph [![moon](moon.jpg)](/uri) └─ paragraph_line [![moon](moon.jpg)](/uri) └─ inline [![moon](moon.jpg)](/uri) └─ inline_core [![moon](moon.jpg)](/uri) └─ inline_link [![moon](moon.jpg)](/uri) └─ bracket_link_without_title [![moon](moon.jpg)](/uri) └─ block \n └─ unknown_block \n
Example 908
✅ PASSED
Rule: document
[foo [bar](/uri)](/uri)\n
document [foo [bar](/uri)](/uri)\n ├─ block [foo [bar](/uri)](/uri) └─ paragraph [foo [bar](/uri)](/uri) └─ paragraph_line [foo [bar](/uri)](/uri) └─ inline [foo [bar](/uri)](/uri) └─ inline_core [foo [bar](/uri)](/uri) └─ inline_link [foo [bar](/uri)](/uri) └─ bracket_link_without_title [foo [bar](/uri)](/uri) └─ block \n └─ unknown_block \n
Example 909
✅ PASSED
Rule: document
[foo *[bar [baz](/uri)](/uri)*](/uri)\n
document [foo *[bar [baz](/uri)](/uri)*](/uri)\n └─ block [foo *[bar [baz](/uri)](/uri)*](/uri)\n └─ paragraph [foo *[bar [baz](/uri)](/uri)*](/uri)\n └─ paragraph_line [foo *[bar [baz](/uri)](/uri)*](/uri)\n ├─ inline [foo *[bar [baz](/uri)](/uri) └─ inline_core [foo *[bar [baz](/uri)](/uri) └─ inline_link [foo *[bar [baz](/uri)](/uri) └─ bracket_link_without_title [foo *[bar [baz](/uri)](/uri) └─ inline *](/uri)\n └─ inline_core *](/uri)\n └─ emphasis *](/uri)\n └─ italic *](/uri)\n └─ italic_asterisk *](/uri)\n
Example 910
✅ PASSED
Rule: document
![[[foo](uri1)](uri2)](uri3)\n
document ![[[foo](uri1)](uri2)](uri3)\n ├─ block ![[[foo](uri1)](uri2)](uri3) └─ paragraph ![[[foo](uri1)](uri2)](uri3) └─ paragraph_line ![[[foo](uri1)](uri2)](uri3) ├─ inline ![[[foo](uri1)](uri2) └─ inline_core ![[[foo](uri1)](uri2) └─ inline_image ![[[foo](uri1)](uri2) ├─ inline_link_text [[foo](uri1) └─ link_url uri2 └─ inline ](uri3) └─ inline_core ](uri3) └─ text ](uri3) ├─ safe_punct ( ├─ word uri3 └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 911
✅ PASSED
Rule: document
*[foo*](/uri)\n
document *[foo*](/uri)\n ├─ block *[foo*](/uri) └─ paragraph *[foo*](/uri) └─ paragraph_line *[foo*](/uri) ├─ inline *[foo* └─ inline_core *[foo* └─ emphasis *[foo* └─ italic *[foo* └─ italic_asterisk *[foo* └─ inline ](/uri) └─ inline_core ](/uri) └─ text ](/uri) ├─ safe_punct ( ├─ safe_punct / ├─ word uri └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 912
✅ PASSED
Rule: document
[foo *bar](baz*)\n
document [foo *bar](baz*)\n ├─ block [foo *bar](baz*) └─ paragraph [foo *bar](baz*) └─ paragraph_line [foo *bar](baz*) ├─ inline [foo └─ inline_core [foo └─ text [foo └─ word foo ├─ inline *bar](baz* └─ inline_core *bar](baz* └─ emphasis *bar](baz* └─ italic *bar](baz* └─ italic_asterisk *bar](baz* └─ inline ) └─ inline_core ) └─ text ) └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 913
✅ PASSED
Rule: document
*foo [bar* baz]\n
document *foo [bar* baz]\n ├─ block *foo [bar* baz] └─ paragraph *foo [bar* baz] └─ paragraph_line *foo [bar* baz] ├─ inline *foo [bar* └─ inline_core *foo [bar* └─ emphasis *foo [bar* └─ italic *foo [bar* └─ italic_asterisk *foo [bar* └─ inline baz] └─ inline_core baz] └─ text baz] └─ word baz └─ block \n └─ unknown_block \n
Example 914
✅ PASSED
Rule: document
[foo <bar attr=\"](baz)\">\n
document [foo <bar attr=\"](baz)\">\n ├─ block [foo <bar attr=\"](baz) └─ paragraph [foo <bar attr=\"](baz) └─ paragraph_line [foo <bar attr=\"](baz) └─ inline [foo <bar attr=\"](baz) └─ inline_core [foo <bar attr=\"](baz) └─ inline_link [foo <bar attr=\"](baz) └─ bracket_link_without_title [foo <bar attr=\"](baz) └─ block \">\n └─ unknown_block \">\n
Example 915
✅ PASSED
Rule: document
[foo`](/uri)`\n
document [foo`](/uri)`\n ├─ block [foo`](/uri)` └─ paragraph [foo`](/uri)` └─ paragraph_line [foo`](/uri)` ├─ inline [foo`](/uri) └─ inline_core [foo`](/uri) └─ inline_link [foo`](/uri) └─ bracket_link_without_title [foo`](/uri) └─ inline ` └─ inline_core ` └─ text ` └─ block \n └─ unknown_block \n
Example 916
✅ PASSED
Rule: document
[foo<http://example.com/?search=](uri)>\n
document [foo<http://example.com/?search=](uri)>\n ├─ block [foo<http://example.com/?search=](uri)> └─ paragraph [foo<http://example.com/?search=](uri)> └─ paragraph_line [foo<http://example.com/?search=](uri)> ├─ inline [foo<http://example.com/?search=](uri) └─ inline_core [foo<http://example.com/?search=](uri) └─ inline_link [foo<http://example.com/?search=](uri) └─ bracket_link_without_title [foo<http://example.com/?search=](uri) └─ inline > └─ inline_core > └─ text > └─ block \n └─ unknown_block \n
Example 917
✅ PASSED
Rule: document
[foo][bar]\n\n[bar]: /url \"title\"\n
document [foo][bar]\n\n[bar]: /url \"title\"\n ├─ block [foo][bar] └─ reference_link [foo][bar] ├─ block_caption foo └─ block_caption bar └─ block \n\n[bar]: /url \"title\"\n └─ unknown_block \n\n[bar]: /url \"title\"\n
Example 918
✅ PASSED
Rule: document
[link [foo [bar]]][ref]\n\n[ref]: /uri\n
document [link [foo [bar]]][ref]\n\n[ref]: /uri\n ├─ block [link [foo [bar]]][ref] └─ paragraph [link [foo [bar]]][ref] └─ paragraph_line [link [foo [bar]]][ref] └─ inline [link [foo [bar]]][ref] └─ inline_core [link [foo [bar]]][ref] └─ text [link [foo [bar]]][ref] ├─ word link ├─ word foo ├─ word bar └─ word ref └─ block \n\n[ref]: /uri\n └─ unknown_block \n\n[ref]: /uri\n
Example 919
✅ PASSED
Rule: document
[link \\[bar][ref]\n\n[ref]: /uri\n
document [link \\[bar][ref]\n\n[ref]: /uri\n ├─ block [link \\[bar][ref] └─ reference_link [link \\[bar][ref] ├─ block_caption link \\[bar └─ block_caption ref └─ block \n\n[ref]: /uri\n └─ unknown_block \n\n[ref]: /uri\n
Example 920
✅ PASSED
Rule: document
[link *foo **bar** `#`*][ref]\n\n[ref]: /uri\n
document [link *foo **bar** `#`*][ref]\n\n[ref]: /uri\n ├─ block [link *foo **bar** `#`*][ref] └─ reference_link [link *foo **bar** `#`*][ref] ├─ block_caption link *foo **bar** `#`* └─ block_caption ref └─ block \n\n[ref]: /uri\n └─ unknown_block \n\n[ref]: /uri\n
Example 921
✅ PASSED
Rule: document
[![moon](moon.jpg)][ref]\n\n[ref]: /uri\n
document [![moon](moon.jpg)][ref]\n\n[ref]: /uri\n ├─ block [![moon](moon.jpg)][ref] └─ paragraph [![moon](moon.jpg)][ref] └─ paragraph_line [![moon](moon.jpg)][ref] └─ inline [![moon](moon.jpg)][ref] └─ inline_core [![moon](moon.jpg)][ref] └─ text [![moon](moon.jpg)][ref] ├─ safe_punct ! ├─ word moon ├─ safe_punct ( ├─ word moon ├─ safe_punct . ├─ word jpg ├─ safe_punct ) └─ word ref └─ block \n\n[ref]: /uri\n └─ unknown_block \n\n[ref]: /uri\n
Example 922
✅ PASSED
Rule: document
[foo [bar](/uri)][ref]\n\n[ref]: /uri\n
document [foo [bar](/uri)][ref]\n\n[ref]: /uri\n ├─ block [foo [bar](/uri)][ref] └─ paragraph [foo [bar](/uri)][ref] └─ paragraph_line [foo [bar](/uri)][ref] └─ inline [foo [bar](/uri)][ref] └─ inline_core [foo [bar](/uri)][ref] └─ text [foo [bar](/uri)][ref] ├─ word foo ├─ word bar ├─ safe_punct ( ├─ safe_punct / ├─ word uri ├─ safe_punct ) └─ word ref └─ block \n\n[ref]: /uri\n └─ unknown_block \n\n[ref]: /uri\n
Example 923
✅ PASSED
Rule: document
[foo *bar [baz][ref]*][ref]\n\n[ref]: /uri\n
document [foo *bar [baz][ref]*][ref]\n\n[ref]: /uri\n ├─ block [foo *bar [baz][ref] └─ reference_link [foo *bar [baz][ref] ├─ block_caption foo *bar [baz └─ block_caption ref └─ block *][ref]\n\n[ref]: /uri\n └─ paragraph *][ref]\n\n[ref]: /uri\n └─ paragraph_line *][ref]\n\n[ref]: /uri\n └─ inline *][ref]\n\n[ref]: /uri\n └─ inline_core *][ref]\n\n[ref]: /uri\n └─ emphasis *][ref]\n\n[ref]: /uri\n └─ italic *][ref]\n\n[ref]: /uri\n └─ italic_asterisk *][ref]\n\n[ref]: /uri\n
Example 924
✅ PASSED
Rule: document
*[foo*][ref]\n\n[ref]: /uri\n
document *[foo*][ref]\n\n[ref]: /uri\n ├─ block *[foo*][ref] └─ paragraph *[foo*][ref] └─ paragraph_line *[foo*][ref] ├─ inline *[foo* └─ inline_core *[foo* └─ emphasis *[foo* └─ italic *[foo* └─ italic_asterisk *[foo* └─ inline ][ref] └─ inline_core ][ref] └─ text ][ref] └─ word ref └─ block \n\n[ref]: /uri\n └─ unknown_block \n\n[ref]: /uri\n
Example 925
✅ PASSED
Rule: document
[foo *bar][ref]*\n\n[ref]: /uri\n
document [foo *bar][ref]*\n\n[ref]: /uri\n ├─ block [foo *bar][ref] └─ reference_link [foo *bar][ref] ├─ block_caption foo *bar └─ block_caption ref └─ block *\n\n[ref]: /uri\n └─ paragraph *\n\n[ref]: /uri\n └─ paragraph_line *\n\n[ref]: /uri\n └─ inline *\n\n[ref]: /uri\n └─ inline_core *\n\n[ref]: /uri\n └─ emphasis *\n\n[ref]: /uri\n └─ italic *\n\n[ref]: /uri\n └─ italic_asterisk *\n\n[ref]: /uri\n
Example 926
✅ PASSED
Rule: document
[foo <bar attr=\"][ref]\">\n\n[ref]: /uri\n
document [foo <bar attr=\"][ref]\">\n\n[ref]: /uri\n ├─ block [foo <bar attr=\"][ref] └─ reference_link [foo <bar attr=\"][ref] ├─ block_caption foo <bar attr=\" └─ block_caption ref └─ block \">\n\n[ref]: /uri\n └─ unknown_block \">\n\n[ref]: /uri\n
Example 927
✅ PASSED
Rule: document
[foo`][ref]`\n\n[ref]: /uri\n
document [foo`][ref]`\n\n[ref]: /uri\n ├─ block [foo`][ref] └─ reference_link [foo`][ref] ├─ block_caption foo` └─ block_caption ref ├─ block ` └─ paragraph ` └─ paragraph_line ` └─ inline ` └─ inline_core ` └─ text ` └─ block \n\n[ref]: /uri\n └─ unknown_block \n\n[ref]: /uri\n
Example 928
✅ PASSED
Rule: document
[foo<http://example.com/?search=][ref]>\n\n[ref]: /uri\n
document [foo<http://example.com/?search=][ref]>\n\n[ref]: /uri\n ├─ block [foo<http://example.com/?search=][ref] └─ reference_link [foo<http://example.com/?search=][ref] ├─ block_caption foo<http://example.com/?search= └─ block_caption ref ├─ block > └─ blockquote > └─ blockquote_line > └─ block \n\n[ref]: /uri\n └─ unknown_block \n\n[ref]: /uri\n
Example 929
✅ PASSED
Rule: document
[foo][BaR]\n\n[bar]: /url \"title\"\n
document [foo][BaR]\n\n[bar]: /url \"title\"\n ├─ block [foo][BaR] └─ reference_link [foo][BaR] ├─ block_caption foo └─ block_caption BaR └─ block \n\n[bar]: /url \"title\"\n └─ unknown_block \n\n[bar]: /url \"title\"\n
Example 930
✅ PASSED
Rule: document
[ẞ]\n\n[SS]: /url\n
document [ẞ]\n\n[SS]: /url\n ├─ block [ẞ] └─ paragraph [ẞ] └─ paragraph_line [ẞ] └─ inline [ẞ] └─ inline_core [ẞ] └─ text [ẞ] └─ word └─ block \n\n[SS]: /url\n └─ unknown_block \n\n[SS]: /url\n
Example 931
✅ PASSED
Rule: document
[Foo\n bar]: /url\n\n[Baz][Foo bar]\n
document [Foo\n bar]: /url\n\n[Baz][Foo bar]\n ├─ block [Foo └─ paragraph [Foo └─ paragraph_line [Foo └─ inline [Foo └─ inline_core [Foo └─ text [Foo └─ word Foo └─ block \n bar]: /url\n\n[Baz][Foo bar]\n └─ unknown_block \n bar]: /url\n\n[Baz][Foo bar]\n
Example 932
✅ PASSED
Rule: document
[foo] [bar]\n\n[bar]: /url \"title\"\n
document [foo] [bar]\n\n[bar]: /url \"title\"\n ├─ block [foo] [bar] └─ reference_link [foo] [bar] ├─ block_caption foo └─ block_caption bar └─ block \n\n[bar]: /url \"title\"\n └─ unknown_block \n\n[bar]: /url \"title\"\n
Example 933
✅ PASSED
Rule: document
[foo]\n[bar]\n\n[bar]: /url \"title\"\n
document [foo]\n[bar]\n\n[bar]: /url \"title\"\n ├─ block [foo] └─ paragraph [foo] └─ paragraph_line [foo] └─ inline [foo] └─ inline_core [foo] └─ text [foo] └─ word foo └─ block \n[bar]\n\n[bar]: /url \"title\"\n └─ unknown_block \n[bar]\n\n[bar]: /url \"title\"\n
Example 934
✅ PASSED
Rule: document
[foo]: /url1\n\n[foo]: /url2\n\n[bar][foo]\n
document [foo]: /url1\n\n[foo]: /url2\n\n[bar][foo]\n ├─ block [foo]: /url1 └─ paragraph [foo]: /url1 └─ paragraph_line [foo]: /url1 └─ inline [foo]: /url1 └─ inline_core [foo]: /url1 └─ text [foo]: /url1 ├─ word foo ├─ safe_punct : ├─ safe_punct / └─ word url1 └─ block \n\n[foo]: /url2\n\n[bar][foo]\n └─ unknown_block \n\n[foo]: /url2\n\n[bar][foo]\n
Example 935
✅ PASSED
Rule: document
[bar][foo\\!]\n\n[foo!]: /url\n
document [bar][foo\\!]\n\n[foo!]: /url\n ├─ block [bar][foo\\!] └─ reference_link [bar][foo\\!] ├─ block_caption bar └─ block_caption foo\\! └─ block \n\n[foo!]: /url\n └─ unknown_block \n\n[foo!]: /url\n
Example 936
✅ PASSED
Rule: document
[foo][ref[]\n\n[ref[]: /uri\n
document [foo][ref[]\n\n[ref[]: /uri\n ├─ block [foo][ref[] └─ reference_link [foo][ref[] ├─ block_caption foo └─ block_caption ref[ └─ block \n\n[ref[]: /uri\n └─ unknown_block \n\n[ref[]: /uri\n
Example 937
✅ PASSED
Rule: document
[foo][ref[bar]]\n\n[ref[bar]]: /uri\n
document [foo][ref[bar]]\n\n[ref[bar]]: /uri\n ├─ block [foo][ref[bar] └─ reference_link [foo][ref[bar] ├─ block_caption foo └─ block_caption ref[bar ├─ block ] └─ paragraph ] └─ paragraph_line ] └─ inline ] └─ inline_core ] └─ text ] └─ block \n\n[ref[bar]]: /uri\n └─ unknown_block \n\n[ref[bar]]: /uri\n
Example 938
✅ PASSED
Rule: document
[[[foo]]]\n\n[[[foo]]]: /url\n
document [[[foo]]]\n\n[[[foo]]]: /url\n ├─ block [[[foo]]] └─ paragraph [[[foo]]] └─ paragraph_line [[[foo]]] └─ inline [[[foo]]] └─ inline_core [[[foo]]] └─ text [[[foo]]] └─ word foo └─ block \n\n[[[foo]]]: /url\n └─ unknown_block \n\n[[[foo]]]: /url\n
Example 939
✅ PASSED
Rule: document
[foo][ref\\[]\n\n[ref\\[]: /uri\n
document [foo][ref\\[]\n\n[ref\\[]: /uri\n ├─ block [foo][ref\\[] └─ reference_link [foo][ref\\[] ├─ block_caption foo └─ block_caption ref\\[ └─ block \n\n[ref\\[]: /uri\n └─ unknown_block \n\n[ref\\[]: /uri\n
Example 940
✅ PASSED
Rule: document
[bar\\\\]: /uri\n\n[bar\\\\]\n
document [bar\\\\]: /uri\n\n[bar\\\\]\n ├─ block [bar\\\\]: /uri └─ paragraph [bar\\\\]: /uri └─ paragraph_line [bar\\\\]: /uri ├─ inline [bar └─ inline_core [bar └─ text [bar └─ word bar ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline ]: /uri └─ inline_core ]: /uri └─ text ]: /uri ├─ safe_punct : ├─ safe_punct / └─ word uri └─ block \n\n[bar\\\\]\n └─ unknown_block \n\n[bar\\\\]\n
Example 941
✅ PASSED
Rule: document
[]\n\n[]: /uri\n
document []\n\n[]: /uri\n ├─ block [] └─ paragraph [] └─ paragraph_line [] └─ inline [] └─ inline_core [] └─ text [] └─ block \n\n[]: /uri\n └─ unknown_block \n\n[]: /uri\n
Example 942
✅ PASSED
Rule: document
[\n ]\n\n[\n ]: /uri\n
document [\n ]\n\n[\n ]: /uri\n ├─ block [ └─ paragraph [ └─ paragraph_line [ └─ inline [ └─ inline_core [ └─ text [ └─ block \n ]\n\n[\n ]: /uri\n └─ unknown_block \n ]\n\n[\n ]: /uri\n
Example 943
✅ PASSED
Rule: document
[foo][]\n\n[foo]: /url \"title\"\n
document [foo][]\n\n[foo]: /url \"title\"\n ├─ block [foo][] └─ paragraph [foo][] └─ paragraph_line [foo][] └─ inline [foo][] └─ inline_core [foo][] └─ text [foo][] └─ word foo └─ block \n\n[foo]: /url \"title\"\n └─ unknown_block \n\n[foo]: /url \"title\"\n
Example 944
✅ PASSED
Rule: document
[*foo* bar][]\n\n[*foo* bar]: /url \"title\"\n
document [*foo* bar][]\n\n[*foo* bar]: /url \"title\"\n ├─ block [*foo* bar][] └─ paragraph [*foo* bar][] └─ paragraph_line [*foo* bar][] ├─ inline [ └─ inline_core [ └─ text [ ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* └─ inline bar][] └─ inline_core bar][] └─ text bar][] └─ word bar └─ block \n\n[*foo* bar]: /url \"title\"\n └─ unknown_block \n\n[*foo* bar]: /url \"title\"\n
Example 945
✅ PASSED
Rule: document
[Foo][]\n\n[foo]: /url \"title\"\n
document [Foo][]\n\n[foo]: /url \"title\"\n ├─ block [Foo][] └─ paragraph [Foo][] └─ paragraph_line [Foo][] └─ inline [Foo][] └─ inline_core [Foo][] └─ text [Foo][] └─ word Foo └─ block \n\n[foo]: /url \"title\"\n └─ unknown_block \n\n[foo]: /url \"title\"\n
Example 946
✅ PASSED
Rule: document
[foo] \n[]\n\n[foo]: /url \"title\"\n
document [foo] \n[]\n\n[foo]: /url \"title\"\n ├─ block [foo] └─ paragraph [foo] └─ paragraph_line [foo] └─ inline [foo] └─ inline_core [foo] └─ text [foo] └─ word foo └─ block \n[]\n\n[foo]: /url \"title\"\n └─ unknown_block \n[]\n\n[foo]: /url \"title\"\n
Example 947
✅ PASSED
Rule: document
[foo]\n\n[foo]: /url \"title\"\n
document [foo]\n\n[foo]: /url \"title\"\n ├─ block [foo] └─ paragraph [foo] └─ paragraph_line [foo] └─ inline [foo] └─ inline_core [foo] └─ text [foo] └─ word foo └─ block \n\n[foo]: /url \"title\"\n └─ unknown_block \n\n[foo]: /url \"title\"\n
Example 948
✅ PASSED
Rule: document
[*foo* bar]\n\n[*foo* bar]: /url \"title\"\n
document [*foo* bar]\n\n[*foo* bar]: /url \"title\"\n ├─ block [*foo* bar] └─ paragraph [*foo* bar] └─ paragraph_line [*foo* bar] ├─ inline [ └─ inline_core [ └─ text [ ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* └─ inline bar] └─ inline_core bar] └─ text bar] └─ word bar └─ block \n\n[*foo* bar]: /url \"title\"\n └─ unknown_block \n\n[*foo* bar]: /url \"title\"\n
Example 949
✅ PASSED
Rule: document
[[*foo* bar]]\n\n[*foo* bar]: /url \"title\"\n
document [[*foo* bar]]\n\n[*foo* bar]: /url \"title\"\n ├─ block [[*foo* bar]] └─ paragraph [[*foo* bar]] └─ paragraph_line [[*foo* bar]] ├─ inline [[ └─ inline_core [[ └─ text [[ ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* └─ inline bar]] └─ inline_core bar]] └─ text bar]] └─ word bar └─ block \n\n[*foo* bar]: /url \"title\"\n └─ unknown_block \n\n[*foo* bar]: /url \"title\"\n
Example 950
✅ PASSED
Rule: document
[[bar [foo]\n\n[foo]: /url\n
document [[bar [foo]\n\n[foo]: /url\n ├─ block [[bar [foo] └─ paragraph [[bar [foo] └─ paragraph_line [[bar [foo] └─ inline [[bar [foo] └─ inline_core [[bar [foo] └─ text [[bar [foo] ├─ word bar └─ word foo └─ block \n\n[foo]: /url\n └─ unknown_block \n\n[foo]: /url\n
Example 951
✅ PASSED
Rule: document
[Foo]\n\n[foo]: /url \"title\"\n
document [Foo]\n\n[foo]: /url \"title\"\n ├─ block [Foo] └─ paragraph [Foo] └─ paragraph_line [Foo] └─ inline [Foo] └─ inline_core [Foo] └─ text [Foo] └─ word Foo └─ block \n\n[foo]: /url \"title\"\n └─ unknown_block \n\n[foo]: /url \"title\"\n
Example 952
✅ PASSED
Rule: document
[foo] bar\n\n[foo]: /url\n
document [foo] bar\n\n[foo]: /url\n ├─ block [foo] bar └─ paragraph [foo] bar └─ paragraph_line [foo] bar └─ inline [foo] bar └─ inline_core [foo] bar └─ text [foo] bar ├─ word foo └─ word bar └─ block \n\n[foo]: /url\n └─ unknown_block \n\n[foo]: /url\n
Example 953
✅ PASSED
Rule: document
\\[foo]\n\n[foo]: /url \"title\"\n
document \\[foo]\n\n[foo]: /url \"title\"\n ├─ block \\[foo] └─ paragraph \\[foo] └─ paragraph_line \\[foo] ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline [foo] └─ inline_core [foo] └─ text [foo] └─ word foo └─ block \n\n[foo]: /url \"title\"\n └─ unknown_block \n\n[foo]: /url \"title\"\n
Example 954
✅ PASSED
Rule: document
[foo*]: /url\n\n*[foo*]\n
document [foo*]: /url\n\n*[foo*]\n └─ block [foo*]: /url\n\n*[foo*]\n └─ paragraph [foo*]: /url\n\n*[foo*]\n └─ paragraph_line [foo*]: /url\n\n*[foo*]\n ├─ inline [foo └─ inline_core [foo └─ text [foo └─ word foo ├─ inline *]: /url\n\n* └─ inline_core *]: /url\n\n* └─ emphasis *]: /url\n\n* └─ italic *]: /url\n\n* └─ italic_asterisk *]: /url\n\n* ├─ inline [foo └─ inline_core [foo └─ text [foo └─ word foo └─ inline *]\n └─ inline_core *]\n └─ emphasis *]\n └─ italic *]\n └─ italic_asterisk *]\n
Example 955
✅ PASSED
Rule: document
[foo][bar]\n\n[foo]: /url1\n[bar]: /url2\n
document [foo][bar]\n\n[foo]: /url1\n[bar]: /url2\n ├─ block [foo][bar] └─ reference_link [foo][bar] ├─ block_caption foo └─ block_caption bar └─ block \n\n[foo]: /url1\n[bar]: /url2\n └─ unknown_block \n\n[foo]: /url1\n[bar]: /url2\n
Example 956
✅ PASSED
Rule: document
[foo][]\n\n[foo]: /url1\n
document [foo][]\n\n[foo]: /url1\n ├─ block [foo][] └─ paragraph [foo][] └─ paragraph_line [foo][] └─ inline [foo][] └─ inline_core [foo][] └─ text [foo][] └─ word foo └─ block \n\n[foo]: /url1\n └─ unknown_block \n\n[foo]: /url1\n
Example 957
✅ PASSED
Rule: document
[foo]()\n\n[foo]: /url1\n
document [foo]()\n\n[foo]: /url1\n ├─ block [foo]() └─ paragraph [foo]() └─ paragraph_line [foo]() └─ inline [foo]() └─ inline_core [foo]() └─ text [foo]() ├─ word foo ├─ safe_punct ( └─ safe_punct ) └─ block \n\n[foo]: /url1\n └─ unknown_block \n\n[foo]: /url1\n
Example 958
✅ PASSED
Rule: document
[foo](not a link)\n\n[foo]: /url1\n
document [foo](not a link)\n\n[foo]: /url1\n ├─ block [foo](not a link) └─ paragraph [foo](not a link) └─ paragraph_line [foo](not a link) └─ inline [foo](not a link) └─ inline_core [foo](not a link) └─ text [foo](not a link) ├─ word foo ├─ safe_punct ( ├─ word not ├─ word a ├─ word link └─ safe_punct ) └─ block \n\n[foo]: /url1\n └─ unknown_block \n\n[foo]: /url1\n
Example 959
✅ PASSED
Rule: document
[foo][bar][baz]\n\n[baz]: /url\n
document [foo][bar][baz]\n\n[baz]: /url\n ├─ block [foo][bar] └─ reference_link [foo][bar] ├─ block_caption foo └─ block_caption bar ├─ block [baz] └─ paragraph [baz] └─ paragraph_line [baz] └─ inline [baz] └─ inline_core [baz] └─ text [baz] └─ word baz └─ block \n\n[baz]: /url\n └─ unknown_block \n\n[baz]: /url\n
Example 960
✅ PASSED
Rule: document
[foo][bar][baz]\n\n[baz]: /url1\n[bar]: /url2\n
document [foo][bar][baz]\n\n[baz]: /url1\n[bar]: /url2\n ├─ block [foo][bar] └─ reference_link [foo][bar] ├─ block_caption foo └─ block_caption bar ├─ block [baz] └─ paragraph [baz] └─ paragraph_line [baz] └─ inline [baz] └─ inline_core [baz] └─ text [baz] └─ word baz └─ block \n\n[baz]: /url1\n[bar]: /url2\n └─ unknown_block \n\n[baz]: /url1\n[bar]: /url2\n
Example 961
✅ PASSED
Rule: document
[foo][bar][baz]\n\n[baz]: /url1\n[foo]: /url2\n
document [foo][bar][baz]\n\n[baz]: /url1\n[foo]: /url2\n ├─ block [foo][bar] └─ reference_link [foo][bar] ├─ block_caption foo └─ block_caption bar ├─ block [baz] └─ paragraph [baz] └─ paragraph_line [baz] └─ inline [baz] └─ inline_core [baz] └─ text [baz] └─ word baz └─ block \n\n[baz]: /url1\n[foo]: /url2\n └─ unknown_block \n\n[baz]: /url1\n[foo]: /url2\n
Comprehensive Marco Grammar Tests - Run Commands 11/11 passed
Example 262
✅ PASSED
Rule: document
run@bash(ls -la)
document run@bash(ls -la) └─ block run@bash(ls -la) └─ paragraph run@bash(ls -la) └─ paragraph_line run@bash(ls -la) └─ inline run@bash(ls -la) └─ inline_core run@bash(ls -la) └─ macro_inline run@bash(ls -la) └─ run_inline run@bash(ls -la) ├─ KW_RUN run@ └─ script_type bash └─ KW_BASH bash
Example 263
✅ PASSED
Rule: document
run@python(print('hello'))
document run@python(print('hello')) └─ block run@python(print('hello')) └─ paragraph run@python(print('hello')) └─ paragraph_line run@python(print('hello')) ├─ inline run@python(print('hello') └─ inline_core run@python(print('hello') └─ macro_inline run@python(print('hello') └─ run_inline run@python(print('hello') ├─ KW_RUN run@ └─ script_type python └─ KW_PYTHON python └─ inline ) └─ inline_core ) └─ text ) └─ safe_punct )
Example 264
✅ PASSED
Rule: document
run@zsh(echo $HOME)
document run@zsh(echo $HOME) └─ block run@zsh(echo $HOME) └─ paragraph run@zsh(echo $HOME) └─ paragraph_line run@zsh(echo $HOME) └─ inline run@zsh(echo $HOME) └─ inline_core run@zsh(echo $HOME) └─ macro_inline run@zsh(echo $HOME) └─ run_inline run@zsh(echo $HOME) ├─ KW_RUN run@ └─ script_type zsh └─ KW_ZSH zsh
Example 265
✅ PASSED
Rule: document
run@powershell(Get-Location)
document run@powershell(Get-Location) └─ block run@powershell(Get-Location) └─ paragraph run@powershell(Get-Location) └─ paragraph_line run@powershell(Get-Location) └─ inline run@powershell(Get-Location) └─ inline_core run@powershell(Get-Location) └─ macro_inline run@powershell(Get-Location) └─ run_inline run@powershell(Get-Location) ├─ KW_RUN run@ └─ script_type powershell └─ KW_POWERSHELL powershell
Example 266
✅ PASSED
Rule: document
run@bat(dir)
document run@bat(dir) └─ block run@bat(dir) └─ paragraph run@bat(dir) └─ paragraph_line run@bat(dir) └─ inline run@bat(dir) └─ inline_core run@bat(dir) └─ macro_inline run@bat(dir) └─ run_inline run@bat(dir) ├─ KW_RUN run@ └─ script_type bat └─ KW_BAT bat
Example 267
✅ PASSED
Rule: document
run@bash(echo \"hello world\")
document run@bash(echo \"hello world\") └─ block run@bash(echo \"hello world\") └─ paragraph run@bash(echo \"hello world\") └─ paragraph_line run@bash(echo \"hello world\") └─ inline run@bash(echo \"hello world\") └─ inline_core run@bash(echo \"hello world\") └─ macro_inline run@bash(echo \"hello world\") └─ run_inline run@bash(echo \"hello world\") ├─ KW_RUN run@ └─ script_type bash └─ KW_BASH bash
Example 268
✅ PASSED
Rule: document
run@python(import os; print(os.getcwd()))
document run@python(import os; print(os.getcwd())) └─ block run@python(import os; print(os.getcwd())) └─ paragraph run@python(import os; print(os.getcwd())) └─ paragraph_line run@python(import os; print(os.getcwd())) ├─ inline run@python(import os; print(os.getcwd() └─ inline_core run@python(import os; print(os.getcwd() └─ macro_inline run@python(import os; print(os.getcwd() └─ run_inline run@python(import os; print(os.getcwd() ├─ KW_RUN run@ └─ script_type python └─ KW_PYTHON python └─ inline )) └─ inline_core )) └─ text )) ├─ safe_punct ) └─ safe_punct )
Example 269
✅ PASSED
Rule: document
```run@bash\nls -la\necho \"done\"\n```
document ```run@bash\nls -la\necho \"done\"\n``` └─ block ```run@bash\nls -la\necho \"done\"\n``` └─ unknown_block ```run@bash\nls -la\necho \"done\"\n```
Example 270
✅ PASSED
Rule: document
```run@python\nprint('hello')\nfor i in range(3):\n print(i)\n```
document ```run@python\nprint('hello')\nfor i in range(3):\n print(i)\n``` └─ block ```run@python\nprint('hello')\nfor i in range(3):\n print(i)\n``` └─ unknown_block ```run@python\nprint('hello')\nfor i in range(3):\n print(i)\n```
Example 271
✅ PASSED
Rule: document
run@BASH(echo test)
document run@BASH(echo test) └─ block run@BASH(echo test) └─ paragraph run@BASH(echo test) └─ paragraph_line run@BASH(echo test) └─ inline run@BASH(echo test) └─ inline_core run@BASH(echo test) └─ macro_inline run@BASH(echo test) └─ run_inline run@BASH(echo test) ├─ KW_RUN run@ └─ script_type BASH └─ KW_BASH BASH
Example 272
✅ PASSED
Rule: document
run@Python(print('test'))
document run@Python(print('test')) └─ block run@Python(print('test')) └─ paragraph run@Python(print('test')) └─ paragraph_line run@Python(print('test')) ├─ inline run@Python(print('test') └─ inline_core run@Python(print('test') └─ macro_inline run@Python(print('test') └─ run_inline run@Python(print('test') ├─ KW_RUN run@ └─ script_type Python └─ KW_PYTHON Python └─ inline ) └─ inline_core ) └─ text ) └─ safe_punct )
Comprehensive Marco Grammar Tests - Link reference definitions 8/8 passed
Example 143
✅ PASSED
Rule: document
[link text][ref]
document [link text][ref] └─ block [link text][ref] └─ reference_link [link text][ref] ├─ block_caption link text └─ block_caption ref
Example 144
✅ PASSED
Rule: document
[][ref]
document [][ref] └─ block [][ref] └─ paragraph [][ref] └─ paragraph_line [][ref] └─ inline [][ref] └─ inline_core [][ref] └─ text [][ref] └─ word ref
Example 145
✅ PASSED
Rule: document
[link text][]
document [link text][] └─ block [link text][] └─ paragraph [link text][] └─ paragraph_line [link text][] └─ inline [link text][] └─ inline_core [link text][] └─ text [link text][] ├─ word link └─ word text
Example 146
✅ PASSED
Rule: document
[ref]: https://example.com
document [ref]: https://example.com └─ block [ref]: https://example.com └─ paragraph [ref]: https://example.com └─ paragraph_line [ref]: https://example.com └─ inline [ref]: https://example.com └─ inline_core [ref]: https://example.com └─ text [ref]: https://example.com ├─ word ref ├─ safe_punct : ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . └─ word com
Example 147
✅ PASSED
Rule: document
[ref]: https://example.com \"Title\
document [ref]: https://example.com \"Title\ ├─ block [ref]: https://example.com └─ paragraph [ref]: https://example.com └─ paragraph_line [ref]: https://example.com └─ inline [ref]: https://example.com └─ inline_core [ref]: https://example.com └─ text [ref]: https://example.com ├─ word ref ├─ safe_punct : ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . └─ word com └─ block \"Title\ └─ unknown_block \"Title\
Example 148
✅ PASSED
Rule: document
[ref]: https://example.com \"Title\"
document [ref]: https://example.com \"Title\" ├─ block [ref]: https://example.com └─ paragraph [ref]: https://example.com └─ paragraph_line [ref]: https://example.com └─ inline [ref]: https://example.com └─ inline_core [ref]: https://example.com └─ text [ref]: https://example.com ├─ word ref ├─ safe_punct : ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . └─ word com └─ block \"Title\" └─ unknown_block \"Title\"
Example 149
✅ PASSED
Rule: document
![alt text][ref]
document ![alt text][ref] └─ block ![alt text][ref] └─ reference_image ![alt text][ref] ├─ block_caption alt text └─ block_caption ref
Example 150
✅ PASSED
Rule: document
![][ref]
document ![][ref] └─ block ![][ref] └─ paragraph ![][ref] └─ paragraph_line ![][ref] └─ inline ![][ref] └─ inline_core ![][ref] └─ text ![][ref] ├─ safe_punct ! └─ word ref
Comprehensive Marco Grammar Tests - Footnotes 9/9 passed
Example 205
✅ PASSED
Rule: document
[^1]
document [^1] └─ block [^1] └─ paragraph [^1] └─ paragraph_line [^1] └─ inline [^1] └─ inline_core [^1] └─ footnote_ref [^1] └─ footnote_label 1
Example 206
✅ PASSED
Rule: document
[^note]
document [^note] └─ block [^note] └─ paragraph [^note] └─ paragraph_line [^note] └─ inline [^note] └─ inline_core [^note] └─ footnote_ref [^note] └─ footnote_label note
Example 207
✅ PASSED
Rule: document
[^note1]
document [^note1] └─ block [^note1] └─ paragraph [^note1] └─ paragraph_line [^note1] └─ inline [^note1] └─ inline_core [^note1] └─ footnote_ref [^note1] └─ footnote_label note1
Example 208
✅ PASSED
Rule: document
[^café]
document [^café] └─ block [^café] └─ paragraph [^café] └─ paragraph_line [^café] └─ inline [^café] └─ inline_core [^café] └─ footnote_ref [^café] └─ footnote_label café
Example 209
✅ PASSED
Rule: document
[^1]: This is a footnote
document [^1]: This is a footnote └─ block [^1]: This is a footnote └─ paragraph [^1]: This is a footnote └─ paragraph_line [^1]: This is a footnote ├─ inline [^1] └─ inline_core [^1] └─ footnote_ref [^1] └─ footnote_label 1 └─ inline : This is a footnote └─ inline_core : This is a footnote └─ text : This is a footnote ├─ safe_punct : ├─ word This ├─ word is ├─ word a └─ word footnote
Example 210
✅ PASSED
Rule: document
[^note]: This is a longer footnote\n with multiple lines
document [^note]: This is a longer footnote\n with multiple lines ├─ block [^note]: This is a longer footnote └─ paragraph [^note]: This is a longer footnote └─ paragraph_line [^note]: This is a longer footnote ├─ inline [^note] └─ inline_core [^note] └─ footnote_ref [^note] └─ footnote_label note └─ inline : This is a longer footnote └─ inline_core : This is a longer footnote └─ text : This is a longer footnote ├─ safe_punct : ├─ word This ├─ word is ├─ word a ├─ word longer └─ word footnote └─ block \n with multiple lines └─ unknown_block \n with multiple lines
Example 211
✅ PASSED
Rule: document
[^complex]: A footnote with **formatting** and [links](url)
document [^complex]: A footnote with **formatting** and [links](url) └─ block [^complex]: A footnote with **formatting** and [links](url) └─ paragraph [^complex]: A footnote with **formatting** and [links](url) └─ paragraph_line [^complex]: A footnote with **formatting** and [links](url) ├─ inline [^complex] └─ inline_core [^complex] └─ footnote_ref [^complex] └─ footnote_label complex ├─ inline : A footnote with └─ inline_core : A footnote with └─ text : A footnote with ├─ safe_punct : ├─ word A ├─ word footnote └─ word with ├─ inline **formatting** └─ inline_core **formatting** └─ emphasis **formatting** └─ bold **formatting** └─ bold_asterisk **formatting** └─ inline and [links](url) └─ inline_core and [links](url) └─ text and [links](url) ├─ word and ├─ word links ├─ safe_punct ( ├─ word url └─ safe_punct )
Example 212
✅ PASSED
Rule: document
^[This is an inline footnote]
document ^[This is an inline footnote] └─ block ^[This is an inline footnote] └─ paragraph ^[This is an inline footnote] └─ paragraph_line ^[This is an inline footnote] └─ inline ^[This is an inline footnote] └─ inline_core ^[This is an inline footnote] └─ inline_footnote_ref ^[This is an inline footnote]
Example 213
✅ PASSED
Rule: document
^[Inline footnote with **formatting**]
document ^[Inline footnote with **formatting**] └─ block ^[Inline footnote with **formatting**] └─ paragraph ^[Inline footnote with **formatting**] └─ paragraph_line ^[Inline footnote with **formatting**] └─ inline ^[Inline footnote with **formatting**] └─ inline_core ^[Inline footnote with **formatting**] └─ inline_footnote_ref ^[Inline footnote with **formatting**]
Comprehensive Marco Grammar Tests - Tabs 5/5 passed
Example 244
✅ PASSED
Rule: document
:::tab\nGeneral content\n@tab Tab 1\nContent 1\n@tab Tab 2\nContent 2\n:::
document :::tab\nGeneral content\n@tab Tab 1\nContent 1\n@tab Tab 2\nContent 2\n::: └─ block :::tab\nGeneral content\n@tab Tab 1\nContent 1\n@tab Tab 2\nContent 2\n::: └─ unknown_block :::tab\nGeneral content\n@tab Tab 1\nContent 1\n@tab Tab 2\nContent 2\n:::
Example 245
✅ PASSED
Rule: document
:::tab Main Tab\n@tab First\nFirst content\n@tab Second\nSecond content\n:::
document :::tab Main Tab\n@tab First\nFirst content\n@tab Second\nSecond content\n::: └─ block :::tab Main Tab\n@tab First\nFirst content\n@tab Second\nSecond content\n::: └─ unknown_block :::tab Main Tab\n@tab First\nFirst content\n@tab Second\nSecond content\n:::
Example 246
✅ PASSED
Rule: document
:::tab\n@tab **Bold Tab**\nContent with **formatting**\n@tab *Italic Tab*\nMore content\n:::
document :::tab\n@tab **Bold Tab**\nContent with **formatting**\n@tab *Italic Tab*\nMore content\n::: └─ block :::tab\n@tab **Bold Tab**\nContent with **formatting**\n@tab *Italic Tab*\nMore content\n::: └─ unknown_block :::tab\n@tab **Bold Tab**\nContent with **formatting**\n@tab *Italic Tab*\nMore content\n:::
Example 247
✅ PASSED
Rule: document
:::tab\n@tab Empty\n@tab Also Empty\n:::
document :::tab\n@tab Empty\n@tab Also Empty\n::: └─ block :::tab\n@tab Empty\n@tab Also Empty\n::: └─ unknown_block :::tab\n@tab Empty\n@tab Also Empty\n:::
Example 248
✅ PASSED
Rule: document
:::tab\n@tab Only Tab\nOnly content\n:::
document :::tab\n@tab Only Tab\nOnly content\n::: └─ block :::tab\n@tab Only Tab\nOnly content\n::: └─ unknown_block :::tab\n@tab Only Tab\nOnly content\n:::
Comprehensive Marco Grammar Tests - Edge Cases 15/15 passed
Example 291
✅ PASSED
Rule: document
\t
document \t └─ block \t └─ unknown_block \t
Example 292
✅ PASSED
Rule: document
text\r\nmore text\nfinal text
document text\r\nmore text\nfinal text ├─ block text └─ paragraph text └─ paragraph_line text └─ inline text └─ inline_core text └─ text text └─ word text └─ block \r\nmore text\nfinal text └─ unknown_block \r\nmore text\nfinal text
Example 293
✅ PASSED
Rule: document
text
document text └─ block text └─ paragraph text └─ paragraph_line text └─ inline text └─ inline_core text └─ text text └─ word text
Example 294
✅ PASSED
Rule: document
text
document text └─ block text └─ paragraph text └─ paragraph_line text └─ inline text └─ inline_core text └─ text text └─ word text
Example 295
✅ PASSED
Rule: document
😀 😃 😄 😁 😆
document 😀 😃 😄 😁 😆 └─ block 😀 😃 😄 😁 😆 └─ paragraph 😀 😃 😄 😁 😆 └─ paragraph_line 😀 😃 😄 😁 😆 └─ inline 😀 😃 😄 😁 😆 └─ inline_core 😀 😃 😄 😁 😆 └─ text 😀 😃 😄 😁 😆
Example 296
✅ PASSED
Rule: document
text\u200Bwith\u200Cinvisible\u200Dchars
document text\u200Bwith\u200Cinvisible\u200Dchars ├─ block text └─ paragraph text └─ paragraph_line text └─ inline text └─ inline_core text └─ text text └─ word text └─ block \u200Bwith\u200Cinvisible\u200Dchars └─ unknown_block \u200Bwith\u200Cinvisible\u200Dchars
Example 297
✅ PASSED
Rule: document
العربية من اليمين
document العربية من اليمين └─ block العربية من اليمين └─ paragraph العربية من اليمين └─ paragraph_line العربية من اليمين └─ inline العربية من اليمين └─ inline_core العربية من اليمين └─ text العربية من اليمين ├─ word العربية ├─ word من └─ word اليمين
Example 298
✅ PASSED
Rule: document
café (é = e + ́)
document café (é = e + ́) └─ block café (é = e + ́) └─ paragraph café (é = e + ́) └─ paragraph_line café (é = e + ́) └─ inline café (é = e + ́) └─ inline_core café (é = e + ́) └─ text café (é = e + ́) ├─ word café ├─ safe_punct ( ├─ word é ├─ math_symbol = ├─ word e ├─ math_symbol + └─ safe_punct )
Example 299
✅ PASSED
Rule: document
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
document Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. └─ block Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. └─ paragraph Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. └─ paragraph_line Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. └─ inline Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. └─ inline_core Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. └─ text Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ├─ word Lorem ├─ word ipsum ├─ word dolor ├─ word sit ├─ word amet ├─ safe_punct , ├─ word consectetur ├─ word adipiscing ├─ word elit ├─ safe_punct , ├─ word sed ├─ word do ├─ word eiusmod ├─ word tempor ├─ word incididunt ├─ word ut ├─ word labore ├─ word et ├─ word dolore ├─ word magna ├─ word aliqua ├─ safe_punct . ├─ word Ut ├─ word enim ├─ word ad ├─ word minim ├─ word veniam ├─ safe_punct , ├─ word quis ├─ word nostrud ├─ word exercitation ├─ word ullamco ├─ word laboris ├─ word nisi ├─ word ut ├─ word aliquip ├─ word ex ├─ word ea ├─ word commodo ├─ word consequat ├─ safe_punct . ├─ word Duis ├─ word aute ├─ word irure ├─ word dolor ├─ word in ├─ word reprehenderit ├─ word in ├─ word voluptate ├─ word velit ├─ word esse ├─ word cillum ├─ word dolore ├─ word eu ├─ word fugiat ├─ word nulla ├─ word pariatur ├─ safe_punct . ├─ word Excepteur ├─ word sint ├─ word occaecat ├─ word cupidatat ├─ word non ├─ word proident ├─ safe_punct , ├─ word sunt ├─ word in ├─ word culpa ├─ word qui ├─ word officia ├─ word deserunt ├─ word mollit ├─ word anim ├─ word id ├─ word est ├─ word laborum └─ safe_punct .
Example 300
✅ PASSED
Rule: document
**bold with *italic and `code` inside* text**
document **bold with *italic and `code` inside* text** └─ block **bold with *italic and `code` inside* text** └─ paragraph **bold with *italic and `code` inside* text** └─ paragraph_line **bold with *italic and `code` inside* text** └─ inline **bold with *italic and `code` inside* text** └─ inline_core **bold with *italic and `code` inside* text** └─ emphasis **bold with *italic and `code` inside* text** └─ bold **bold with *italic and `code` inside* text** └─ bold_asterisk **bold with *italic and `code` inside* text**
Example 301
✅ PASSED
Rule: document
**bold** and *italic* and `code` and ~~strike~~
document **bold** and *italic* and `code` and ~~strike~~ └─ block **bold** and *italic* and `code` and ~~strike~~ └─ paragraph **bold** and *italic* and `code` and ~~strike~~ └─ paragraph_line **bold** and *italic* and `code` and ~~strike~~ ├─ inline **bold** └─ inline_core **bold** └─ emphasis **bold** └─ bold **bold** └─ bold_asterisk **bold** ├─ inline and └─ inline_core and └─ text and └─ word and ├─ inline *italic* └─ inline_core *italic* └─ emphasis *italic* └─ italic *italic* └─ italic_asterisk *italic* ├─ inline and └─ inline_core and └─ text and └─ word and ├─ inline `code` └─ inline_core `code` └─ code_inline `code` ├─ inline and └─ inline_core and └─ text and └─ word and └─ inline ~~strike~~ └─ inline_core ~~strike~~ └─ strikethrough ~~strike~~ └─ strikethrough_tilde ~~strike~~
Example 302
✅ PASSED
Rule: document
a
document a └─ block a └─ paragraph a └─ paragraph_line a └─ inline a └─ inline_core a └─ text a └─ word a
Example 303
✅ PASSED
Rule: document
ab
document ab └─ block ab └─ paragraph ab └─ paragraph_line ab └─ inline ab └─ inline_core ab └─ text ab └─ word ab
Example 304
✅ PASSED
Rule: document
123456789
document 123456789 └─ block 123456789 └─ paragraph 123456789 └─ paragraph_line 123456789 └─ inline 123456789 └─ inline_core 123456789 └─ text 123456789 └─ word 123456789
Example 305
✅ PASSED
Rule: document
.,;:!?()[]{}\"'
document .,;:!?()[]{}\"' ├─ block .,;:!?()[]{} └─ paragraph .,;:!?()[]{} └─ paragraph_line .,;:!?()[]{} └─ inline .,;:!?()[]{} └─ inline_core .,;:!?()[]{} └─ text .,;:!?()[]{} ├─ safe_punct . ├─ safe_punct , ├─ safe_punct ; ├─ safe_punct : ├─ safe_punct ! ├─ safe_punct ? ├─ safe_punct ( ├─ safe_punct ) ├─ safe_punct { └─ safe_punct } └─ block \"' └─ unknown_block \"'
Comprehensive Marco Grammar Tests - Horizontal rules 7/7 passed
Example 198
✅ PASSED
Rule: document
---
document --- └─ block --- └─ hr --- └─ hr_dash ---
Example 199
✅ PASSED
Rule: document
***
document *** └─ block *** └─ hr *** └─ hr_star ***
Example 200
✅ PASSED
Rule: document
___
document ___ └─ block ___ └─ hr ___ └─ hr_underscore ___
Example 201
✅ PASSED
Rule: document
---
document --- └─ block --- └─ hr --- └─ hr_dash ---
Example 202
✅ PASSED
Rule: document
***
document *** └─ block *** └─ hr *** └─ hr_star ***
Example 203
✅ PASSED
Rule: document
----------
document ---------- └─ block ---------- └─ hr ---------- └─ hr_dash ----------
Example 204
✅ PASSED
Rule: document
**********
document ********** └─ block ********** └─ hr ********** └─ hr_star **********
Comprehensive Marco Grammar Tests - Pathological Inputs 10/10 passed
Example 333
✅ PASSED
Rule: document
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Deep
document > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Deep └─ block > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Deep └─ blockquote > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Deep └─ blockquote_line > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Deep └─ inline > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Deep └─ inline_core > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Deep └─ text > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Deep └─ word Deep
Example 334
✅ PASSED
Rule: document
- Level 1\n - Level 2\n - Level 3\n - Level 4\n - Level 5\n - Level 6\n - Level 7\n - Level 8
document - Level 1\n - Level 2\n - Level 3\n - Level 4\n - Level 5\n - Level 6\n - Level 7\n - Level 8 └─ block - Level 1\n - Level 2\n - Level 3\n - Level 4\n - Level 5\n - Level 6\n - Level 7\n - Level 8 └─ list - Level 1\n - Level 2\n - Level 3\n - Level 4\n - Level 5\n - Level 6\n - Level 7\n - Level 8 └─ list_item - Level 1\n - Level 2\n - Level 3\n - Level 4\n - Level 5\n - Level 6\n - Level 7\n - Level 8 └─ regular_list_item - Level 1\n - Level 2\n - Level 3\n - Level 4\n - Level 5\n - Level 6\n - Level 7\n - Level 8 ├─ list_marker - └─ list_item_content Level 1\n - Level 2\n - Level 3\n - Level 4\n - Level 5\n - Level 6\n - Level 7\n - Level 8
Example 335
✅ PASSED
Rule: document
**bold *italic **bold _italic_ bold** italic* bold**
document **bold *italic **bold _italic_ bold** italic* bold** └─ block **bold *italic **bold _italic_ bold** italic* bold** └─ paragraph **bold *italic **bold _italic_ bold** italic* bold** └─ paragraph_line **bold *italic **bold _italic_ bold** italic* bold** ├─ inline **bold *italic ** └─ inline_core **bold *italic ** └─ emphasis **bold *italic ** └─ bold **bold *italic ** └─ bold_asterisk **bold *italic ** ├─ inline bold └─ inline_core bold └─ text bold └─ word bold ├─ inline _italic_ └─ inline_core _italic_ └─ emphasis _italic_ └─ italic _italic_ └─ italic_underscore _italic_ ├─ inline bold └─ inline_core bold └─ text bold └─ word bold └─ inline ** italic* bold** └─ inline_core ** italic* bold** └─ emphasis ** italic* bold** └─ bold ** italic* bold** └─ bold_asterisk ** italic* bold**
Example 336
✅ PASSED
Rule: document
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
document Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. └─ block Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. └─ paragraph Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. └─ paragraph_line Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. └─ inline Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. └─ inline_core Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. └─ text Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ├─ word Lorem ├─ word ipsum ├─ word dolor ├─ word sit ├─ word amet ├─ safe_punct , ├─ word consectetur ├─ word adipiscing ├─ word elit ├─ safe_punct . ├─ word Sed ├─ word do ├─ word eiusmod ├─ word tempor ├─ word incididunt ├─ word ut ├─ word labore ├─ word et ├─ word dolore ├─ word magna ├─ word aliqua ├─ safe_punct . ├─ word Ut ├─ word enim ├─ word ad ├─ word minim ├─ word veniam ├─ safe_punct , ├─ word quis ├─ word nostrud ├─ word exercitation ├─ word ullamco ├─ word laboris ├─ safe_punct . ├─ word Duis ├─ word aute ├─ word irure ├─ word dolor ├─ word in ├─ word reprehenderit ├─ word in ├─ word voluptate ├─ word velit ├─ word esse ├─ word cillum ├─ word dolore ├─ word eu ├─ word fugiat ├─ word nulla ├─ word pariatur ├─ safe_punct . ├─ word Excepteur ├─ word sint ├─ word occaecat ├─ word cupidatat ├─ word non ├─ word proident ├─ safe_punct , ├─ word sunt ├─ word in ├─ word culpa ├─ word qui ├─ word officia ├─ word deserunt ├─ word mollit ├─ word anim ├─ word id ├─ word est ├─ word laborum ├─ safe_punct . ├─ word Lorem ├─ word ipsum ├─ word dolor ├─ word sit ├─ word amet ├─ safe_punct , ├─ word consectetur ├─ word adipiscing ├─ word elit ├─ safe_punct . ├─ word Sed ├─ word do ├─ word eiusmod ├─ word tempor ├─ word incididunt ├─ word ut ├─ word labore ├─ word et ├─ word dolore ├─ word magna ├─ word aliqua ├─ safe_punct . ├─ word Ut ├─ word enim ├─ word ad ├─ word minim ├─ word veniam ├─ safe_punct , ├─ word quis ├─ word nostrud ├─ word exercitation ├─ word ullamco ├─ word laboris ├─ safe_punct . ├─ word Duis ├─ word aute ├─ word irure ├─ word dolor ├─ word in ├─ word reprehenderit ├─ word in ├─ word voluptate ├─ word velit ├─ word esse ├─ word cillum ├─ word dolore ├─ word eu ├─ word fugiat ├─ word nulla ├─ word pariatur ├─ safe_punct . ├─ word Excepteur ├─ word sint ├─ word occaecat ├─ word cupidatat ├─ word non ├─ word proident ├─ safe_punct , ├─ word sunt ├─ word in ├─ word culpa ├─ word qui ├─ word officia ├─ word deserunt ├─ word mollit ├─ word anim ├─ word id ├─ word est ├─ word laborum ├─ safe_punct . ├─ word Lorem ├─ word ipsum ├─ word dolor ├─ word sit ├─ word amet ├─ safe_punct , ├─ word consectetur ├─ word adipiscing ├─ word elit ├─ safe_punct . ├─ word Sed ├─ word do ├─ word eiusmod ├─ word tempor ├─ word incididunt ├─ word ut ├─ word labore ├─ word et ├─ word dolore ├─ word magna ├─ word aliqua ├─ safe_punct . ├─ word Ut ├─ word enim ├─ word ad ├─ word minim ├─ word veniam ├─ safe_punct , ├─ word quis ├─ word nostrud ├─ word exercitation ├─ word ullamco ├─ word laboris ├─ safe_punct . ├─ word Duis ├─ word aute ├─ word irure ├─ word dolor ├─ word in ├─ word reprehenderit ├─ word in ├─ word voluptate ├─ word velit ├─ word esse ├─ word cillum ├─ word dolore ├─ word eu ├─ word fugiat ├─ word nulla ├─ word pariatur ├─ safe_punct . ├─ word Excepteur ├─ word sint ├─ word occaecat ├─ word cupidatat ├─ word non ├─ word proident ├─ safe_punct , ├─ word sunt ├─ word in ├─ word culpa ├─ word qui ├─ word officia ├─ word deserunt ├─ word mollit ├─ word anim ├─ word id ├─ word est ├─ word laborum └─ safe_punct .
Example 337
✅ PASSED
Rule: document
*****************************************************************************
document ***************************************************************************** └─ block ***************************************************************************** └─ hr ***************************************************************************** └─ hr_star *****************************************************************************
Example 338
✅ PASSED
Rule: document
*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*
document *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* ├─ block *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_ └─ paragraph *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_ └─ paragraph_line *_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* ├─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* ├─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* ├─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* ├─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* ├─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* ├─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* ├─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* ├─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* ├─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* ├─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* ├─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* ├─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ ├─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* └─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ └─ block * └─ unknown_block *
Example 339
✅ PASSED
Rule: document
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
document [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ └─ block [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ └─ paragraph [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ └─ paragraph_line [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ └─ inline [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ └─ inline_core [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ └─ text [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
Example 340
✅ PASSED
Rule: document
Line 1\r\nLine 2\nLine 3\r\nLine 4\n
document Line 1\r\nLine 2\nLine 3\r\nLine 4\n ├─ block Line 1 └─ paragraph Line 1 └─ paragraph_line Line 1 └─ inline Line 1 └─ inline_core Line 1 └─ text Line 1 ├─ word Line └─ word 1 └─ block \r\nLine 2\nLine 3\r\nLine 4\n └─ unknown_block \r\nLine 2\nLine 3\r\nLine 4\n
Example 341
✅ PASSED
Rule: document
\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\u0008\\u0009\\n\\u000B\\u000C\\r\\u000E\\u000F
document \\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\u0008\\u0009\\n\\u000B\\u000C\\r\\u000E\\u000F └─ block \\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\u0008\\u0009\\n\\u000B\\u000C\\r\\u000E\\u000F └─ paragraph \\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\u0008\\u0009\\n\\u000B\\u000C\\r\\u000E\\u000F └─ paragraph_line \\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\u0008\\u0009\\n\\u000B\\u000C\\r\\u000E\\u000F ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0000 └─ inline_core u0000 └─ text u0000 └─ word u0000 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0001 └─ inline_core u0001 └─ text u0001 └─ word u0001 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0002 └─ inline_core u0002 └─ text u0002 └─ word u0002 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0003 └─ inline_core u0003 └─ text u0003 └─ word u0003 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0004 └─ inline_core u0004 └─ text u0004 └─ word u0004 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0005 └─ inline_core u0005 └─ text u0005 └─ word u0005 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0006 └─ inline_core u0006 └─ text u0006 └─ word u0006 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0007 └─ inline_core u0007 └─ text u0007 └─ word u0007 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0008 └─ inline_core u0008 └─ text u0008 └─ word u0008 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0009 └─ inline_core u0009 └─ text u0009 └─ word u0009 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline n └─ inline_core n └─ text n └─ word n ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u000B └─ inline_core u000B └─ text u000B └─ word u000B ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u000C └─ inline_core u000C └─ text u000C └─ word u000C ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline r └─ inline_core r └─ text r └─ word r ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u000E └─ inline_core u000E └─ text u000E └─ word u000E ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline u000F └─ inline_core u000F └─ text u000F └─ word u000F
Example 342
✅ PASSED
Rule: document
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
document [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] └─ block [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] └─ paragraph [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] └─ paragraph_line [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] └─ inline [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] └─ inline_core [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] └─ text [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
Comprehensive Marco Grammar Tests - User Mentions 8/8 passed
Example 226
✅ PASSED
Rule: document
@username
document @username └─ block @username └─ paragraph @username └─ paragraph_line @username └─ inline @username └─ inline_core @username └─ text @username └─ word username
Example 227
✅ PASSED
Rule: document
@user_name
document @user_name └─ block @user_name └─ paragraph @user_name └─ paragraph_line @user_name ├─ inline @user └─ inline_core @user └─ text @user └─ word user └─ inline _name └─ inline_core _name └─ emphasis _name └─ italic _name └─ italic_underscore _name
Example 228
✅ PASSED
Rule: document
@user-name
document @user-name └─ block @user-name └─ paragraph @user-name └─ paragraph_line @user-name └─ inline @user-name └─ inline_core @user-name └─ text @user-name └─ word user-name
Example 229
✅ PASSED
Rule: document
@café_user
document @café_user └─ block @café_user └─ paragraph @café_user └─ paragraph_line @café_user ├─ inline @café └─ inline_core @café └─ text @café └─ word café └─ inline _user └─ inline_core _user └─ emphasis _user └─ italic _user └─ italic_underscore _user
Example 230
✅ PASSED
Rule: document
@user [github]
document @user [github] └─ block @user [github] └─ paragraph @user [github] └─ paragraph_line @user [github] └─ inline @user [github] └─ inline_core @user [github] └─ macro_inline @user [github] └─ user_mention @user [github] ├─ username user └─ platform github
Example 231
✅ PASSED
Rule: document
@user [platform.name]
document @user [platform.name] └─ block @user [platform.name] └─ paragraph @user [platform.name] └─ paragraph_line @user [platform.name] └─ inline @user [platform.name] └─ inline_core @user [platform.name] └─ macro_inline @user [platform.name] └─ user_mention @user [platform.name] ├─ username user └─ platform platform.name
Example 232
✅ PASSED
Rule: document
@user [platform](Display Name)
document @user [platform](Display Name) └─ block @user [platform](Display Name) └─ paragraph @user [platform](Display Name) └─ paragraph_line @user [platform](Display Name) └─ inline @user [platform](Display Name) └─ inline_core @user [platform](Display Name) └─ macro_inline @user [platform](Display Name) └─ user_mention @user [platform](Display Name) ├─ username user ├─ platform platform └─ display_name Display Name
Example 233
✅ PASSED
Rule: document
@user [github](John Doe)
document @user [github](John Doe) └─ block @user [github](John Doe) └─ paragraph @user [github](John Doe) └─ paragraph_line @user [github](John Doe) └─ inline @user [github](John Doe) └─ inline_core @user [github](John Doe) └─ macro_inline @user [github](John Doe) └─ user_mention @user [github](John Doe) ├─ username user ├─ platform github └─ display_name John Doe
Comprehensive Marco Grammar Tests - Commonmark Atx Headings 18/18 passed
Example 1169
✅ PASSED
Rule: document
# foo\n## foo\n### foo\n#### foo\n##### foo\n###### foo\n
document # foo\n## foo\n### foo\n#### foo\n##### foo\n###### foo\n ├─ block # foo └─ heading # foo └─ H1 # foo └─ heading_content foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n## foo\n### foo\n#### foo\n##### foo\n###### foo\n └─ unknown_block \n## foo\n### foo\n#### foo\n##### foo\n###### foo\n
Example 1170
✅ PASSED
Rule: document
####### foo\n
document ####### foo\n ├─ block ####### foo └─ heading ####### foo └─ H6 ####### foo └─ heading_content # foo └─ inline # foo └─ inline_core # foo └─ text # foo └─ word foo └─ block \n └─ unknown_block \n
Example 1171
✅ PASSED
Rule: document
#5 bolt\n\n#hashtag\n
document #5 bolt\n\n#hashtag\n ├─ block #5 bolt └─ heading #5 bolt └─ H1 #5 bolt └─ heading_content 5 bolt └─ inline 5 bolt └─ inline_core 5 bolt └─ text 5 bolt ├─ word 5 └─ word bolt └─ block \n\n#hashtag\n └─ unknown_block \n\n#hashtag\n
Example 1172
✅ PASSED
Rule: document
\\## foo\n
document \\## foo\n ├─ block \\## foo └─ paragraph \\## foo └─ paragraph_line \\## foo ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline ## foo └─ inline_core ## foo └─ text ## foo └─ word foo └─ block \n └─ unknown_block \n
Example 1173
✅ PASSED
Rule: document
# foo *bar* \\*baz\\*\n
document # foo *bar* \\*baz\\*\n ├─ block # foo *bar* \\*baz\\* └─ heading # foo *bar* \\*baz\\* └─ H1 # foo *bar* \\*baz\\* └─ heading_content foo *bar* \\*baz\\* ├─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline *baz\\* └─ inline_core *baz\\* └─ emphasis *baz\\* └─ italic *baz\\* └─ italic_asterisk *baz\\* └─ block \n └─ unknown_block \n
Example 1174
✅ PASSED
Rule: document
# foo \n
document # foo \n ├─ block # foo └─ heading # foo └─ H1 # foo └─ heading_content foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n └─ unknown_block \n
Example 1175
✅ PASSED
Rule: document
### foo\n ## foo\n # foo\n
document ### foo\n ## foo\n # foo\n ├─ block ### foo └─ heading ### foo └─ H3 ### foo └─ heading_content foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n ## foo\n # foo\n └─ unknown_block \n ## foo\n # foo\n
Example 1176
✅ PASSED
Rule: document
# foo\n
document # foo\n ├─ block # foo └─ heading # foo └─ H1 # foo └─ heading_content foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n └─ unknown_block \n
Example 1177
✅ PASSED
Rule: document
foo\n # bar\n
document foo\n # bar\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n # bar\n └─ unknown_block \n # bar\n
Example 1178
✅ PASSED
Rule: document
## foo ##\n ### bar ###\n
document ## foo ##\n ### bar ###\n ├─ block ## foo ## └─ heading ## foo ## └─ H2 ## foo ## └─ heading_content foo ## └─ inline foo ## └─ inline_core foo ## └─ text foo ## └─ word foo └─ block \n ### bar ###\n └─ unknown_block \n ### bar ###\n
Example 1179
✅ PASSED
Rule: document
# foo ##################################\n##### foo ##\n
document # foo ##################################\n##### foo ##\n ├─ block # foo ################################## └─ heading # foo ################################## └─ H1 # foo ################################## └─ heading_content foo ################################## └─ inline foo ################################## └─ inline_core foo ################################## └─ text foo ################################## └─ word foo └─ block \n##### foo ##\n └─ unknown_block \n##### foo ##\n
Example 1180
✅ PASSED
Rule: document
### foo ### \n
document ### foo ### \n ├─ block ### foo ### └─ heading ### foo ### └─ H3 ### foo ### └─ heading_content foo ### └─ inline foo ### └─ inline_core foo ### └─ text foo ### └─ word foo └─ block \n └─ unknown_block \n
Example 1181
✅ PASSED
Rule: document
### foo ### b\n
document ### foo ### b\n ├─ block ### foo ### b └─ heading ### foo ### b └─ H3 ### foo ### b └─ heading_content foo ### b └─ inline foo ### b └─ inline_core foo ### b └─ text foo ### b ├─ word foo └─ word b └─ block \n └─ unknown_block \n
Example 1182
✅ PASSED
Rule: document
# foo#\n
document # foo#\n ├─ block # foo# └─ heading # foo# └─ H1 # foo# └─ heading_content foo# └─ inline foo# └─ inline_core foo# └─ text foo# └─ word foo └─ block \n └─ unknown_block \n
Example 1183
✅ PASSED
Rule: document
### foo \\###\n## foo #\\##\n# foo \\#\n
document ### foo \\###\n## foo #\\##\n# foo \\#\n ├─ block ### foo \\### └─ heading ### foo \\### └─ H3 ### foo \\### └─ heading_content foo \\### ├─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline ### └─ inline_core ### └─ text ### └─ block \n## foo #\\##\n# foo \\#\n └─ unknown_block \n## foo #\\##\n# foo \\#\n
Example 1184
✅ PASSED
Rule: document
****\n## foo\n****\n
document ****\n## foo\n****\n ├─ block **** └─ hr **** └─ hr_star **** └─ block \n## foo\n****\n └─ unknown_block \n## foo\n****\n
Example 1185
✅ PASSED
Rule: document
Foo bar\n# baz\nBar foo\n
document Foo bar\n# baz\nBar foo\n ├─ block Foo bar └─ paragraph Foo bar └─ paragraph_line Foo bar └─ inline Foo bar └─ inline_core Foo bar └─ text Foo bar ├─ word Foo └─ word bar └─ block \n# baz\nBar foo\n └─ unknown_block \n# baz\nBar foo\n
Example 1186
✅ PASSED
Rule: document
## \n#\n### ###\n
document ## \n#\n### ###\n ├─ block ## └─ heading ## └─ H1 ## └─ heading_content # └─ inline # └─ inline_core # └─ text # └─ block \n#\n### ###\n └─ unknown_block \n#\n### ###\n
Comprehensive Marco Grammar Tests - Block quotes 9/9 passed
Example 189
✅ PASSED
Rule: document
> This is a quote
document > This is a quote └─ block > This is a quote └─ blockquote > This is a quote └─ blockquote_line > This is a quote └─ inline This is a quote └─ inline_core This is a quote └─ text This is a quote ├─ word This ├─ word is ├─ word a └─ word quote
Example 190
✅ PASSED
Rule: document
> First line\n> Second line
document > First line\n> Second line ├─ block > First line └─ blockquote > First line └─ blockquote_line > First line └─ inline First line └─ inline_core First line └─ text First line ├─ word First └─ word line └─ block \n> Second line └─ unknown_block \n> Second line
Example 191
✅ PASSED
Rule: document
> Spaced quote
document > Spaced quote └─ block > Spaced quote └─ blockquote > Spaced quote └─ blockquote_line > Spaced quote └─ inline Spaced quote └─ inline_core Spaced quote └─ text Spaced quote ├─ word Spaced └─ word quote
Example 192
✅ PASSED
Rule: document
>No space quote
document >No space quote └─ block >No space quote └─ blockquote >No space quote └─ blockquote_line >No space quote └─ inline No space quote └─ inline_core No space quote └─ text No space quote ├─ word No ├─ word space └─ word quote
Example 193
✅ PASSED
Rule: document
>
document > └─ block > └─ blockquote > └─ blockquote_line >
Example 194
✅ PASSED
Rule: document
> Level 1\n>> Level 2\n>>> Level 3
document > Level 1\n>> Level 2\n>>> Level 3 ├─ block > Level 1 └─ blockquote > Level 1 └─ blockquote_line > Level 1 └─ inline Level 1 └─ inline_core Level 1 └─ text Level 1 ├─ word Level └─ word 1 └─ block \n>> Level 2\n>>> Level 3 └─ unknown_block \n>> Level 2\n>>> Level 3
Example 195
✅ PASSED
Rule: document
> **Bold quote**
document > **Bold quote** └─ block > **Bold quote** └─ blockquote > **Bold quote** └─ blockquote_line > **Bold quote** └─ inline **Bold quote** └─ inline_core **Bold quote** └─ emphasis **Bold quote** └─ bold **Bold quote** └─ bold_asterisk **Bold quote**
Example 196
✅ PASSED
Rule: document
> Quote with `code`
document > Quote with `code` └─ block > Quote with `code` └─ blockquote > Quote with `code` └─ blockquote_line > Quote with `code` ├─ inline Quote with └─ inline_core Quote with └─ text Quote with ├─ word Quote └─ word with └─ inline `code` └─ inline_core `code` └─ code_inline `code`
Example 197
✅ PASSED
Rule: document
> Quote with [link](url)
document > Quote with [link](url) └─ block > Quote with [link](url) └─ blockquote > Quote with [link](url) └─ blockquote_line > Quote with [link](url) └─ inline Quote with [link](url) └─ inline_core Quote with [link](url) └─ text Quote with [link](url) ├─ word Quote ├─ word with ├─ word link ├─ safe_punct ( ├─ word url └─ safe_punct )
Comprehensive Marco Grammar Tests - Commonmark Textual Content 3/3 passed
Example 1074
✅ PASSED
Rule: document
hello $.;'there\n
document hello $.;'there\n ├─ block hello └─ paragraph hello └─ paragraph_line hello └─ inline hello └─ inline_core hello └─ text hello └─ word hello └─ block $.;'there\n └─ unknown_block $.;'there\n
Example 1075
✅ PASSED
Rule: document
Foo χρῆν\n
document Foo χρῆν\n ├─ block Foo χρῆν └─ paragraph Foo χρῆν └─ paragraph_line Foo χρῆν └─ inline Foo χρῆν └─ inline_core Foo χρῆν └─ text Foo χρῆν ├─ word Foo └─ word χρῆν └─ block \n └─ unknown_block \n
Example 1076
✅ PASSED
Rule: document
Multiple spaces\n
document Multiple spaces\n ├─ block Multiple spaces └─ paragraph Multiple spaces └─ paragraph_line Multiple spaces └─ inline Multiple spaces └─ inline_core Multiple spaces └─ text Multiple spaces ├─ word Multiple └─ word spaces └─ block \n └─ unknown_block \n
Comprehensive Marco Grammar Tests - Bold Formatting 8/8 passed
Example 39
✅ PASSED
Rule: document
**bold text**
document **bold text** └─ block **bold text** └─ paragraph **bold text** └─ paragraph_line **bold text** └─ inline **bold text** └─ inline_core **bold text** └─ emphasis **bold text** └─ bold **bold text** └─ bold_asterisk **bold text**
Example 40
✅ PASSED
Rule: document
** spaced bold **
document ** spaced bold ** └─ block ** spaced bold ** └─ paragraph ** spaced bold ** └─ paragraph_line ** spaced bold ** └─ inline ** spaced bold ** └─ inline_core ** spaced bold ** └─ emphasis ** spaced bold ** └─ bold ** spaced bold ** └─ bold_asterisk ** spaced bold **
Example 41
✅ PASSED
Rule: document
****
document **** └─ block **** └─ hr **** └─ hr_star ****
Example 42
✅ PASSED
Rule: document
**bold with **inner** bold**
document **bold with **inner** bold** └─ block **bold with **inner** bold** └─ paragraph **bold with **inner** bold** └─ paragraph_line **bold with **inner** bold** ├─ inline **bold with ** └─ inline_core **bold with ** └─ emphasis **bold with ** └─ bold **bold with ** └─ bold_asterisk **bold with ** ├─ inline inner └─ inline_core inner └─ text inner └─ word inner └─ inline ** bold** └─ inline_core ** bold** └─ emphasis ** bold** └─ bold ** bold** └─ bold_asterisk ** bold**
Example 43
✅ PASSED
Rule: document
**bold\ntext**
document **bold\ntext** └─ block **bold\ntext** └─ paragraph **bold\ntext** └─ paragraph_line **bold\ntext** └─ inline **bold\ntext** └─ inline_core **bold\ntext** └─ emphasis **bold\ntext** └─ bold **bold\ntext** └─ bold_asterisk **bold\ntext**
Example 44
✅ PASSED
Rule: document
__bold text__
document __bold text__ └─ block __bold text__ └─ paragraph __bold text__ └─ paragraph_line __bold text__ └─ inline __bold text__ └─ inline_core __bold text__ └─ emphasis __bold text__ └─ bold __bold text__ └─ bold_underscore __bold text__
Example 45
✅ PASSED
Rule: document
____
document ____ └─ block ____ └─ hr ____ └─ hr_underscore ____
Example 46
✅ PASSED
Rule: document
__bold with __inner__ bold__
document __bold with __inner__ bold__ └─ block __bold with __inner__ bold__ └─ paragraph __bold with __inner__ bold__ └─ paragraph_line __bold with __inner__ bold__ ├─ inline __bold with __ └─ inline_core __bold with __ └─ emphasis __bold with __ └─ bold __bold with __ └─ bold_underscore __bold with __ ├─ inline inner └─ inline_core inner └─ text inner └─ word inner └─ inline __ bold__ └─ inline_core __ bold__ └─ emphasis __ bold__ └─ bold __ bold__ └─ bold_underscore __ bold__
Comprehensive Marco Grammar Tests - Italic Formatting 7/7 passed
Example 47
✅ PASSED
Rule: document
*italic text*
document *italic text* └─ block *italic text* └─ paragraph *italic text* └─ paragraph_line *italic text* └─ inline *italic text* └─ inline_core *italic text* └─ emphasis *italic text* └─ italic *italic text* └─ italic_asterisk *italic text*
Example 48
✅ PASSED
Rule: document
**
document ** └─ block ** └─ paragraph ** └─ paragraph_line ** └─ inline ** └─ inline_core ** └─ text ** └─ start_line_formatting **
Example 49
✅ PASSED
Rule: document
*italic with *inner* italic*
document *italic with *inner* italic* └─ block *italic with *inner* italic* └─ paragraph *italic with *inner* italic* └─ paragraph_line *italic with *inner* italic* ├─ inline *italic with * └─ inline_core *italic with * └─ emphasis *italic with * └─ italic *italic with * └─ italic_asterisk *italic with * ├─ inline inner └─ inline_core inner └─ text inner └─ word inner └─ inline * italic* └─ inline_core * italic* └─ emphasis * italic* └─ italic * italic* └─ italic_asterisk * italic*
Example 50
✅ PASSED
Rule: document
_italic text_
document _italic text_ └─ block _italic text_ └─ paragraph _italic text_ └─ paragraph_line _italic text_ └─ inline _italic text_ └─ inline_core _italic text_ └─ emphasis _italic text_ └─ italic _italic text_ └─ italic_underscore _italic text_
Example 51
✅ PASSED
Rule: document
__
document __ └─ block __ └─ paragraph __ └─ paragraph_line __ └─ inline __ └─ inline_core __ └─ text __ └─ start_line_formatting __
Example 52
✅ PASSED
Rule: document
un*believable*ly
document un*believable*ly └─ block un*believable*ly └─ paragraph un*believable*ly └─ paragraph_line un*believable*ly ├─ inline un └─ inline_core un └─ text un └─ word un ├─ inline *believable* └─ inline_core *believable* └─ emphasis *believable* └─ italic *believable* └─ italic_asterisk *believable* └─ inline ly └─ inline_core ly └─ text ly └─ word ly
Example 53
✅ PASSED
Rule: document
*hello, world!*
document *hello, world!* └─ block *hello, world!* └─ paragraph *hello, world!* └─ paragraph_line *hello, world!* └─ inline *hello, world!* └─ inline_core *hello, world!* └─ emphasis *hello, world!* └─ italic *hello, world!* └─ italic_asterisk *hello, world!*
Comprehensive Marco Grammar Tests - Math Inline 6/6 passed
Example 81
✅ PASSED
Rule: document
$x = 1$
document $x = 1$ └─ block $x = 1$ └─ paragraph $x = 1$ └─ paragraph_line $x = 1$ └─ inline $x = 1$ └─ inline_core $x = 1$ └─ math_inline $x = 1$
Example 82
✅ PASSED
Rule: document
$\\frac{a}{b} = c$
document $\\frac{a}{b} = c$ └─ block $\\frac{a}{b} = c$ └─ paragraph $\\frac{a}{b} = c$ └─ paragraph_line $\\frac{a}{b} = c$ └─ inline $\\frac{a}{b} = c$ └─ inline_core $\\frac{a}{b} = c$ └─ math_inline $\\frac{a}{b} = c$
Example 83
✅ PASSED
Rule: document
$$
document $$ └─ block $$ └─ paragraph $$ └─ paragraph_line $$ └─ inline $$ └─ inline_core $$ └─ math_inline $$
Example 84
✅ PASSED
Rule: document
$ x = 1 $
document $ x = 1 $ └─ block $ x = 1 $ └─ paragraph $ x = 1 $ └─ paragraph_line $ x = 1 $ └─ inline $ x = 1 $ └─ inline_core $ x = 1 $ └─ math_inline $ x = 1 $
Example 85
✅ PASSED
Rule: document
$price is \\$5$
document $price is \\$5$ ├─ block $price is \\$5 └─ paragraph $price is \\$5 └─ paragraph_line $price is \\$5 ├─ inline $price is \\$ └─ inline_core $price is \\$ └─ math_inline $price is \\$ └─ inline 5 └─ inline_core 5 └─ text 5 └─ word 5 └─ block $ └─ unknown_block $
Example 86
✅ PASSED
Rule: document
$E = mc^2$
document $E = mc^2$ └─ block $E = mc^2$ └─ paragraph $E = mc^2$ └─ paragraph_line $E = mc^2$ └─ inline $E = mc^2$ └─ inline_core $E = mc^2$ └─ math_inline $E = mc^2$
Comprehensive Marco Grammar Tests - Link Title 9/9 passed
Example 130
✅ PASSED
Rule: document
\"This is a tooltip\
document \"This is a tooltip\ └─ block \"This is a tooltip\ └─ unknown_block \"This is a tooltip\
Example 131
✅ PASSED
Rule: document
'This is a tooltip'
document 'This is a tooltip' └─ block 'This is a tooltip' └─ paragraph 'This is a tooltip' └─ paragraph_line 'This is a tooltip' └─ inline 'This is a tooltip' └─ inline_core 'This is a tooltip' └─ text 'This is a tooltip' ├─ safe_punct ' ├─ word This ├─ word is ├─ word a ├─ word tooltip └─ safe_punct '
Example 132
✅ PASSED
Rule: document
\"Title with multiple spaces\
document \"Title with multiple spaces\ └─ block \"Title with multiple spaces\ └─ unknown_block \"Title with multiple spaces\
Example 133
✅ PASSED
Rule: document
\"\
document \"\ └─ block \"\ └─ unknown_block \"\
Example 134
✅ PASSED
Rule: document
''
document '' └─ block '' └─ paragraph '' └─ paragraph_line '' └─ inline '' └─ inline_core '' └─ text '' ├─ safe_punct ' └─ safe_punct '
Example 135
✅ PASSED
Rule: document
\"Title with 'inner quotes'\
document \"Title with 'inner quotes'\ └─ block \"Title with 'inner quotes'\ └─ unknown_block \"Title with 'inner quotes'\
Example 136
✅ PASSED
Rule: document
'Title with \"inner quotes\"'
document 'Title with \"inner quotes\"' ├─ block 'Title with └─ paragraph 'Title with └─ paragraph_line 'Title with └─ inline 'Title with └─ inline_core 'Title with └─ text 'Title with ├─ safe_punct ' ├─ word Title └─ word with └─ block \"inner quotes\"' └─ unknown_block \"inner quotes\"'
Example 137
✅ PASSED
Rule: document
\"Café ñoño\
document \"Café ñoño\ └─ block \"Café ñoño\ └─ unknown_block \"Café ñoño\
Example 138
✅ PASSED
Rule: document
\"Multiple words in title\
document \"Multiple words in title\ └─ block \"Multiple words in title\ └─ unknown_block \"Multiple words in title\
Comprehensive Marco Grammar Tests - Commonmark Code Spans 22/22 passed
Example 719
✅ PASSED
Rule: document
`foo`\n
document `foo`\n ├─ block `foo` └─ paragraph `foo` └─ paragraph_line `foo` └─ inline `foo` └─ inline_core `foo` └─ code_inline `foo` └─ block \n └─ unknown_block \n
Example 720
✅ PASSED
Rule: document
`` foo ` bar ``\n
document `` foo ` bar ``\n ├─ block `` foo ` bar `` └─ paragraph `` foo ` bar `` └─ paragraph_line `` foo ` bar `` ├─ inline ` └─ inline_core ` └─ text ` ├─ inline ` foo ` └─ inline_core ` foo ` └─ code_inline ` foo ` └─ inline bar `` └─ inline_core bar `` └─ text bar `` └─ word bar └─ block \n └─ unknown_block \n
Example 721
✅ PASSED
Rule: document
` `` `\n
document ` `` `\n ├─ block ` `` ` └─ paragraph ` `` ` └─ paragraph_line ` `` ` ├─ inline ` ` └─ inline_core ` ` └─ code_inline ` ` └─ inline ` ` └─ inline_core ` ` └─ code_inline ` ` └─ block \n └─ unknown_block \n
Example 722
✅ PASSED
Rule: document
` `` `\n
document ` `` `\n ├─ block ` `` ` └─ paragraph ` `` ` └─ paragraph_line ` `` ` ├─ inline ` ` └─ inline_core ` ` └─ code_inline ` ` └─ inline ` ` └─ inline_core ` ` └─ code_inline ` ` └─ block \n └─ unknown_block \n
Example 723
✅ PASSED
Rule: document
` a`\n
document ` a`\n ├─ block ` a` └─ paragraph ` a` └─ paragraph_line ` a` └─ inline ` a` └─ inline_core ` a` └─ code_inline ` a` └─ block \n └─ unknown_block \n
Example 724
✅ PASSED
Rule: document
`b`\n
document `b`\n ├─ block `b` └─ paragraph `b` └─ paragraph_line `b` └─ inline `b` └─ inline_core `b` └─ code_inline `b` └─ block \n └─ unknown_block \n
Example 725
✅ PASSED
Rule: document
``\n` `\n
document ``\n` `\n ├─ block ``\n` ` └─ paragraph ``\n` ` └─ paragraph_line ``\n` ` ├─ inline ` └─ inline_core ` └─ text ` ├─ inline `\n` └─ inline_core `\n` └─ code_inline `\n` └─ inline ` └─ inline_core ` └─ text ` └─ block \n └─ unknown_block \n
Example 726
✅ PASSED
Rule: document
``\nfoo\nbar \nbaz\n``\n
document ``\nfoo\nbar \nbaz\n``\n ├─ block ``\nfoo\nbar \nbaz\n`` └─ paragraph ``\nfoo\nbar \nbaz\n`` └─ paragraph_line ``\nfoo\nbar \nbaz\n`` ├─ inline ` └─ inline_core ` └─ text ` ├─ inline `\nfoo\nbar \nbaz\n` └─ inline_core `\nfoo\nbar \nbaz\n` └─ code_inline `\nfoo\nbar \nbaz\n` └─ inline ` └─ inline_core ` └─ text ` └─ block \n └─ unknown_block \n
Example 727
✅ PASSED
Rule: document
``\nfoo \n``\n
document ``\nfoo \n``\n ├─ block ``\nfoo \n`` └─ paragraph ``\nfoo \n`` └─ paragraph_line ``\nfoo \n`` ├─ inline ` └─ inline_core ` └─ text ` ├─ inline `\nfoo \n` └─ inline_core `\nfoo \n` └─ code_inline `\nfoo \n` └─ inline ` └─ inline_core ` └─ text ` └─ block \n └─ unknown_block \n
Example 728
✅ PASSED
Rule: document
`foo bar \nbaz`\n
document `foo bar \nbaz`\n ├─ block `foo bar \nbaz` └─ paragraph `foo bar \nbaz` └─ paragraph_line `foo bar \nbaz` └─ inline `foo bar \nbaz` └─ inline_core `foo bar \nbaz` └─ code_inline `foo bar \nbaz` └─ block \n └─ unknown_block \n
Example 729
✅ PASSED
Rule: document
`foo\\`bar`\n
document `foo\\`bar`\n ├─ block `foo\\`bar` └─ paragraph `foo\\`bar` └─ paragraph_line `foo\\`bar` ├─ inline `foo\\` └─ inline_core `foo\\` └─ code_inline `foo\\` └─ inline bar` └─ inline_core bar` └─ text bar` └─ word bar └─ block \n └─ unknown_block \n
Example 730
✅ PASSED
Rule: document
``foo`bar``\n
document ``foo`bar``\n ├─ block ``foo`bar`` └─ paragraph ``foo`bar`` └─ paragraph_line ``foo`bar`` ├─ inline ` └─ inline_core ` └─ text ` ├─ inline `foo` └─ inline_core `foo` └─ code_inline `foo` └─ inline bar`` └─ inline_core bar`` └─ text bar`` └─ word bar └─ block \n └─ unknown_block \n
Example 731
✅ PASSED
Rule: document
` foo `` bar `\n
document ` foo `` bar `\n ├─ block ` foo `` bar ` └─ paragraph ` foo `` bar ` └─ paragraph_line ` foo `` bar ` ├─ inline ` foo ` └─ inline_core ` foo ` └─ code_inline ` foo ` └─ inline ` bar ` └─ inline_core ` bar ` └─ code_inline ` bar ` └─ block \n └─ unknown_block \n
Example 732
✅ PASSED
Rule: document
*foo`*`\n
document *foo`*`\n ├─ block *foo`*` └─ paragraph *foo`*` └─ paragraph_line *foo`*` ├─ inline *foo`* └─ inline_core *foo`* └─ emphasis *foo`* └─ italic *foo`* └─ italic_asterisk *foo`* └─ inline ` └─ inline_core ` └─ text ` └─ block \n └─ unknown_block \n
Example 733
✅ PASSED
Rule: document
[not a `link](/foo`)\n
document [not a `link](/foo`)\n ├─ block [not a `link](/foo`) └─ paragraph [not a `link](/foo`) └─ paragraph_line [not a `link](/foo`) └─ inline [not a `link](/foo`) └─ inline_core [not a `link](/foo`) └─ inline_link [not a `link](/foo`) └─ bracket_link_without_title [not a `link](/foo`) └─ block \n └─ unknown_block \n
Example 734
✅ PASSED
Rule: document
`<a href=\"`\">`\n
document `<a href=\"`\">`\n ├─ block `<a href=\"` └─ paragraph `<a href=\"` └─ paragraph_line `<a href=\"` └─ inline `<a href=\"` └─ inline_core `<a href=\"` └─ code_inline `<a href=\"` └─ block \">`\n └─ unknown_block \">`\n
Example 735
✅ PASSED
Rule: document
<a href=\"`\">`\n
document <a href=\"`\">`\n ├─ block <a href=\"`\"> └─ block_html <a href=\"`\"> ├─ block ` └─ paragraph ` └─ paragraph_line ` └─ inline ` └─ inline_core ` └─ text ` └─ block \n └─ unknown_block \n
Example 736
✅ PASSED
Rule: document
`<http://foo.bar.`baz>`\n
document `<http://foo.bar.`baz>`\n ├─ block `<http://foo.bar.`baz>` └─ paragraph `<http://foo.bar.`baz>` └─ paragraph_line `<http://foo.bar.`baz>` ├─ inline `<http://foo.bar.` └─ inline_core `<http://foo.bar.` └─ code_inline `<http://foo.bar.` └─ inline baz>` └─ inline_core baz>` └─ text baz>` └─ word baz └─ block \n └─ unknown_block \n
Example 737
✅ PASSED
Rule: document
<http://foo.bar.`baz>`\n
document <http://foo.bar.`baz>`\n ├─ block <http://foo.bar.`baz> └─ block_html <http://foo.bar.`baz> ├─ block ` └─ paragraph ` └─ paragraph_line ` └─ inline ` └─ inline_core ` └─ text ` └─ block \n └─ unknown_block \n
Example 738
✅ PASSED
Rule: document
```foo``\n
document ```foo``\n └─ block ```foo``\n └─ unknown_block ```foo``\n
Example 739
✅ PASSED
Rule: document
`foo\n
document `foo\n ├─ block `foo └─ paragraph `foo └─ paragraph_line `foo └─ inline `foo └─ inline_core `foo └─ text `foo └─ word foo └─ block \n └─ unknown_block \n
Example 740
✅ PASSED
Rule: document
`foo``bar``\n
document `foo``bar``\n ├─ block `foo``bar`` └─ paragraph `foo``bar`` └─ paragraph_line `foo``bar`` ├─ inline `foo` └─ inline_core `foo` └─ code_inline `foo` ├─ inline `bar` └─ inline_core `bar` └─ code_inline `bar` └─ inline ` └─ inline_core ` └─ text ` └─ block \n └─ unknown_block \n
Comprehensive Marco Grammar Tests - Autolinks 24/24 passed
Example 98
✅ PASSED
Rule: document
http://example.com
document http://example.com └─ block http://example.com └─ paragraph http://example.com └─ paragraph_line http://example.com └─ inline http://example.com └─ inline_core http://example.com └─ text http://example.com ├─ word http ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . └─ word com
Example 99
✅ PASSED
Rule: document
https://example.com
document https://example.com └─ block https://example.com └─ paragraph https://example.com └─ paragraph_line https://example.com └─ inline https://example.com └─ inline_core https://example.com └─ text https://example.com ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . └─ word com
Example 100
✅ PASSED
Rule: document
https://example.com/path/to/page
document https://example.com/path/to/page └─ block https://example.com/path/to/page └─ paragraph https://example.com/path/to/page └─ paragraph_line https://example.com/path/to/page └─ inline https://example.com/path/to/page └─ inline_core https://example.com/path/to/page └─ text https://example.com/path/to/page ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct / ├─ word path ├─ safe_punct / ├─ word to ├─ safe_punct / └─ word page
Example 101
✅ PASSED
Rule: document
https://example.com/search?q=test&lang=en
document https://example.com/search?q=test&lang=en └─ block https://example.com/search?q=test&lang=en └─ paragraph https://example.com/search?q=test&lang=en └─ paragraph_line https://example.com/search?q=test&lang=en └─ inline https://example.com/search?q=test&lang=en └─ inline_core https://example.com/search?q=test&lang=en └─ text https://example.com/search?q=test&lang=en ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct / ├─ word search ├─ safe_punct ? ├─ word q ├─ math_symbol = ├─ word test ├─ safe_punct & ├─ word lang ├─ math_symbol = └─ word en
Example 102
✅ PASSED
Rule: document
https://example.com/page#section
document https://example.com/page#section └─ block https://example.com/page#section └─ paragraph https://example.com/page#section └─ paragraph_line https://example.com/page#section └─ inline https://example.com/page#section └─ inline_core https://example.com/page#section └─ text https://example.com/page#section ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct / ├─ word page └─ word section
Example 103
✅ PASSED
Rule: document
https://subdomain.example.com:8080/path/to/page?param1=value1¶m2=value2#section
document https://subdomain.example.com:8080/path/to/page?param1=value1&param2=value2#section └─ block https://subdomain.example.com:8080/path/to/page?param1=value1&param2=value2#section └─ paragraph https://subdomain.example.com:8080/path/to/page?param1=value1&param2=value2#section └─ paragraph_line https://subdomain.example.com:8080/path/to/page?param1=value1&param2=value2#section └─ inline https://subdomain.example.com:8080/path/to/page?param1=value1&param2=value2#section └─ inline_core https://subdomain.example.com:8080/path/to/page?param1=value1&param2=value2#section └─ text https://subdomain.example.com:8080/path/to/page?param1=value1&param2=value2#section ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word subdomain ├─ safe_punct . ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct : ├─ word 8080 ├─ safe_punct / ├─ word path ├─ safe_punct / ├─ word to ├─ safe_punct / ├─ word page ├─ safe_punct ? ├─ word param1 ├─ math_symbol = ├─ word value1 ├─ safe_punct & ├─ word param2 ├─ math_symbol = ├─ word value2 └─ word section
Example 104
✅ PASSED
Rule: document
www.example.com
document www.example.com └─ block www.example.com └─ paragraph www.example.com └─ paragraph_line www.example.com └─ inline www.example.com └─ inline_core www.example.com └─ text www.example.com ├─ word www ├─ safe_punct . ├─ word example ├─ safe_punct . └─ word com
Example 105
✅ PASSED
Rule: document
www.example.com/path
document www.example.com/path └─ block www.example.com/path └─ paragraph www.example.com/path └─ paragraph_line www.example.com/path └─ inline www.example.com/path └─ inline_core www.example.com/path └─ text www.example.com/path ├─ word www ├─ safe_punct . ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct / └─ word path
Example 106
✅ PASSED
Rule: document
mailto:user@example.com
document mailto:user@example.com └─ block mailto:user@example.com └─ paragraph mailto:user@example.com └─ paragraph_line mailto:user@example.com └─ inline mailto:user@example.com └─ inline_core mailto:user@example.com └─ text mailto:user@example.com ├─ word mailto ├─ safe_punct : ├─ word user ├─ word example ├─ safe_punct . └─ word com
Example 107
✅ PASSED
Rule: document
mailto:user.name+tag@sub.example.com
document mailto:user.name+tag@sub.example.com └─ block mailto:user.name+tag@sub.example.com └─ paragraph mailto:user.name+tag@sub.example.com └─ paragraph_line mailto:user.name+tag@sub.example.com └─ inline mailto:user.name+tag@sub.example.com └─ inline_core mailto:user.name+tag@sub.example.com └─ text mailto:user.name+tag@sub.example.com ├─ word mailto ├─ safe_punct : ├─ word user ├─ safe_punct . ├─ word name ├─ math_symbol + ├─ word tag ├─ word sub ├─ safe_punct . ├─ word example ├─ safe_punct . └─ word com
Example 108
✅ PASSED
Rule: document
./path/to/file
document ./path/to/file └─ block ./path/to/file └─ paragraph ./path/to/file └─ paragraph_line ./path/to/file └─ inline ./path/to/file └─ inline_core ./path/to/file └─ text ./path/to/file ├─ safe_punct . ├─ safe_punct / ├─ word path ├─ safe_punct / ├─ word to ├─ safe_punct / └─ word file
Example 109
✅ PASSED
Rule: document
../path/to/file
document ../path/to/file └─ block ../path/to/file └─ paragraph ../path/to/file └─ paragraph_line ../path/to/file └─ inline ../path/to/file └─ inline_core ../path/to/file └─ text ../path/to/file ├─ safe_punct . ├─ safe_punct . ├─ safe_punct / ├─ word path ├─ safe_punct / ├─ word to ├─ safe_punct / └─ word file
Example 110
✅ PASSED
Rule: document
/absolute/path/to/file
document /absolute/path/to/file └─ block /absolute/path/to/file └─ paragraph /absolute/path/to/file └─ paragraph_line /absolute/path/to/file └─ inline /absolute/path/to/file └─ inline_core /absolute/path/to/file └─ text /absolute/path/to/file ├─ safe_punct / ├─ word absolute ├─ safe_punct / ├─ word path ├─ safe_punct / ├─ word to ├─ safe_punct / └─ word file
Example 111
✅ PASSED
Rule: document
C:\\path\\to\\file
document C:\\path\\to\\file └─ block C:\\path\\to\\file └─ paragraph C:\\path\\to\\file └─ paragraph_line C:\\path\\to\\file ├─ inline C: └─ inline_core C: └─ text C: ├─ word C └─ safe_punct : ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline path └─ inline_core path └─ text path └─ word path ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline to └─ inline_core to └─ text to └─ word to ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline file └─ inline_core file └─ text file └─ word file
Example 112
✅ PASSED
Rule: document
docs/guide/installation.md
document docs/guide/installation.md └─ block docs/guide/installation.md └─ paragraph docs/guide/installation.md └─ paragraph_line docs/guide/installation.md └─ inline docs/guide/installation.md └─ inline_core docs/guide/installation.md └─ text docs/guide/installation.md ├─ word docs ├─ safe_punct / ├─ word guide ├─ safe_punct / ├─ word installation ├─ safe_punct . └─ word md
Example 113
✅ PASSED
Rule: document
https://www.youtube.com/watch?v=dQw4w9WgXcQ
document https://www.youtube.com/watch?v=dQw4w9WgXcQ └─ block https://www.youtube.com/watch?v=dQw4w9WgXcQ └─ paragraph https://www.youtube.com/watch?v=dQw4w9WgXcQ └─ paragraph_line https://www.youtube.com/watch?v=dQw4w9WgXcQ └─ inline https://www.youtube.com/watch?v=dQw4w9WgXcQ └─ inline_core https://www.youtube.com/watch?v=dQw4w9WgXcQ └─ text https://www.youtube.com/watch?v=dQw4w9WgXcQ ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word www ├─ safe_punct . ├─ word youtube ├─ safe_punct . ├─ word com ├─ safe_punct / ├─ word watch ├─ safe_punct ? ├─ word v ├─ math_symbol = └─ word dQw4w9WgXcQ
Example 114
✅ PASSED
Rule: document
https://youtu.be/dQw4w9WgXcQ
document https://youtu.be/dQw4w9WgXcQ └─ block https://youtu.be/dQw4w9WgXcQ └─ paragraph https://youtu.be/dQw4w9WgXcQ └─ paragraph_line https://youtu.be/dQw4w9WgXcQ └─ inline https://youtu.be/dQw4w9WgXcQ └─ inline_core https://youtu.be/dQw4w9WgXcQ └─ text https://youtu.be/dQw4w9WgXcQ ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word youtu ├─ safe_punct . ├─ word be ├─ safe_punct / └─ word dQw4w9WgXcQ
Example 115
✅ PASSED
Rule: document
https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=42
document https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=42 └─ block https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=42 └─ paragraph https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=42 └─ paragraph_line https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=42 └─ inline https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=42 └─ inline_core https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=42 └─ text https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=42 ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word www ├─ safe_punct . ├─ word youtube ├─ safe_punct . ├─ word com ├─ safe_punct / ├─ word watch ├─ safe_punct ? ├─ word v ├─ math_symbol = ├─ word dQw4w9WgXcQ ├─ safe_punct & ├─ word t ├─ math_symbol = └─ word 42
Example 116
✅ PASSED
Rule: document
https://example.com/image.jpg
document https://example.com/image.jpg └─ block https://example.com/image.jpg └─ paragraph https://example.com/image.jpg └─ paragraph_line https://example.com/image.jpg └─ inline https://example.com/image.jpg └─ inline_core https://example.com/image.jpg └─ text https://example.com/image.jpg ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct / ├─ word image ├─ safe_punct . └─ word jpg
Example 117
✅ PASSED
Rule: document
https://example.com/image.png
document https://example.com/image.png └─ block https://example.com/image.png └─ paragraph https://example.com/image.png └─ paragraph_line https://example.com/image.png └─ inline https://example.com/image.png └─ inline_core https://example.com/image.png └─ text https://example.com/image.png ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct / ├─ word image ├─ safe_punct . └─ word png
Example 118
✅ PASSED
Rule: document
https://example.com/image.gif
document https://example.com/image.gif └─ block https://example.com/image.gif └─ paragraph https://example.com/image.gif └─ paragraph_line https://example.com/image.gif └─ inline https://example.com/image.gif └─ inline_core https://example.com/image.gif └─ text https://example.com/image.gif ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct / ├─ word image ├─ safe_punct . └─ word gif
Example 119
✅ PASSED
Rule: document
https://example.com/image.webp
document https://example.com/image.webp └─ block https://example.com/image.webp └─ paragraph https://example.com/image.webp └─ paragraph_line https://example.com/image.webp └─ inline https://example.com/image.webp └─ inline_core https://example.com/image.webp └─ text https://example.com/image.webp ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct / ├─ word image ├─ safe_punct . └─ word webp
Example 120
✅ PASSED
Rule: document
https://example.com/image.svg
document https://example.com/image.svg └─ block https://example.com/image.svg └─ paragraph https://example.com/image.svg └─ paragraph_line https://example.com/image.svg └─ inline https://example.com/image.svg └─ inline_core https://example.com/image.svg └─ text https://example.com/image.svg ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct / ├─ word image ├─ safe_punct . └─ word svg
Example 121
✅ PASSED
Rule: document
./images/photo.jpg
document ./images/photo.jpg └─ block ./images/photo.jpg └─ paragraph ./images/photo.jpg └─ paragraph_line ./images/photo.jpg └─ inline ./images/photo.jpg └─ inline_core ./images/photo.jpg └─ text ./images/photo.jpg ├─ safe_punct . ├─ safe_punct / ├─ word images ├─ safe_punct / ├─ word photo ├─ safe_punct . └─ word jpg
Comprehensive Marco Grammar Tests - Specification Compliance 11/11 passed
Example 522
✅ PASSED
Rule: document
| foo | bar |\n| --- | --- |\n| baz | bim |
document | foo | bar |\n| --- | --- |\n| baz | bim | └─ block | foo | bar |\n| --- | --- |\n| baz | bim | └─ unknown_block | foo | bar |\n| --- | --- |\n| baz | bim |
Example 523
✅ PASSED
Rule: document
| left | center | right |\n|:-----|:------:|------:|\n| L | C | R |
document | left | center | right |\n|:-----|:------:|------:|\n| L | C | R | └─ block | left | center | right |\n|:-----|:------:|------:|\n| L | C | R | └─ unknown_block | left | center | right |\n|:-----|:------:|------:|\n| L | C | R |
Example 524
✅ PASSED
Rule: document
~~Hi~~ Hello, world!
document ~~Hi~~ Hello, world! └─ block ~~Hi~~ Hello, world! └─ paragraph ~~Hi~~ Hello, world! └─ paragraph_line ~~Hi~~ Hello, world! ├─ inline ~~Hi~~ └─ inline_core ~~Hi~~ └─ strikethrough ~~Hi~~ └─ strikethrough_tilde ~~Hi~~ └─ inline Hello, world! └─ inline_core Hello, world! └─ text Hello, world! ├─ word Hello ├─ safe_punct , ├─ word world └─ safe_punct !
Example 525
✅ PASSED
Rule: document
www.commonmark.org
document www.commonmark.org └─ block www.commonmark.org └─ paragraph www.commonmark.org └─ paragraph_line www.commonmark.org └─ inline www.commonmark.org └─ inline_core www.commonmark.org └─ text www.commonmark.org ├─ word www ├─ safe_punct . ├─ word commonmark ├─ safe_punct . └─ word org
Example 526
✅ PASSED
Rule: document
Visit https://github.com
document Visit https://github.com └─ block Visit https://github.com └─ paragraph Visit https://github.com └─ paragraph_line Visit https://github.com └─ inline Visit https://github.com └─ inline_core Visit https://github.com └─ text Visit https://github.com ├─ word Visit ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word github ├─ safe_punct . └─ word com
Example 527
✅ PASSED
Rule: document
- [x] foo\n - [ ] bar\n - [x] baz\n- [ ] bim
document - [x] foo\n - [ ] bar\n - [x] baz\n- [ ] bim └─ block - [x] foo\n - [ ] bar\n - [x] baz\n- [ ] bim └─ list - [x] foo\n - [ ] bar\n - [x] baz\n- [ ] bim └─ list_item - [x] foo\n - [ ] bar\n - [x] baz\n- [ ] bim └─ task_list_item - [x] foo\n - [ ] bar\n - [x] baz\n- [ ] bim ├─ list_marker - ├─ task_marker [x] └─ list_item_content foo\n - [ ] bar\n - [x] baz\n- [ ] bim
Example 528
✅ PASSED
Rule: document
H~2~O
document H~2~O └─ block H~2~O └─ paragraph H~2~O └─ paragraph_line H~2~O ├─ inline H └─ inline_core H └─ text H └─ word H ├─ inline ~2~ └─ inline_core ~2~ └─ subscript ~2~ └─ subscript_tilde ~2~ └─ inline O └─ inline_core O └─ text O └─ word O
Example 529
✅ PASSED
Rule: document
x^2^
document x^2^ └─ block x^2^ └─ paragraph x^2^ └─ paragraph_line x^2^ └─ inline x^2^ └─ inline_core x^2^ └─ text x^2^ ├─ word x └─ word 2
Example 530
✅ PASSED
Rule: document
Term 1\n: Definition 1\n\nTerm 2\n: Definition 2a\n: Definition 2b
document Term 1\n: Definition 1\n\nTerm 2\n: Definition 2a\n: Definition 2b ├─ block Term 1 └─ paragraph Term 1 └─ paragraph_line Term 1 └─ inline Term 1 └─ inline_core Term 1 └─ text Term 1 ├─ word Term └─ word 1 └─ block \n: Definition 1\n\nTerm 2\n: Definition 2a\n: Definition 2b └─ unknown_block \n: Definition 1\n\nTerm 2\n: Definition 2a\n: Definition 2b
Example 531
✅ PASSED
Rule: document
| foo | bar |\n|-----|-----|\n| baz | bim |\n[Table caption]
document | foo | bar |\n|-----|-----|\n| baz | bim |\n[Table caption] └─ block | foo | bar |\n|-----|-----|\n| baz | bim |\n[Table caption] └─ unknown_block | foo | bar |\n|-----|-----|\n| baz | bim |\n[Table caption]
Example 532
✅ PASSED
Rule: document
Here is some text^[and a footnote]
document Here is some text^[and a footnote] └─ block Here is some text^[and a footnote] └─ paragraph Here is some text^[and a footnote] └─ paragraph_line Here is some text^[and a footnote] └─ inline Here is some text^[and a footnote] └─ inline_core Here is some text^[and a footnote] └─ text Here is some text^[and a footnote] ├─ word Here ├─ word is ├─ word some ├─ word text ├─ word and ├─ word a └─ word footnote
Comprehensive Marco Grammar Tests - Test Failures 0/5 passed
Example 1200
❌ FAILED
Rule: H1
This is just plain text, not a heading
--> 1:1 | 1 | This is just plain text, not a heading | ^--- | = expected H1
Example 1201
❌ FAILED
Rule: code_inline
not code at all
--> 1:1 | 1 | not code at all | ^--- | = expected code_inline
Example 1202
❌ FAILED
Rule: bold
regular text
--> 1:1 | 1 | regular text | ^--- | = expected bold
Example 1203
❌ FAILED
Rule: italic
plain text
--> 1:1 | 1 | plain text | ^--- | = expected italic
Example 1204
❌ FAILED
Rule: user_mention
@
--> 1:2 | 1 | @ | ^--- | = expected username
Comprehensive Marco Grammar Tests - Math Blocks 4/4 passed
Example 94
✅ PASSED
Rule: document
$$x = 1$$
document $$x = 1$$ └─ block $$x = 1$$ └─ math_block $$x = 1$$
Example 95
✅ PASSED
Rule: document
$$\\frac{\\partial f}{\\partial x} = \\lim_{h \\to 0} \\frac{f(x+h) - f(x)}{h}$$
document $$\\frac{\\partial f}{\\partial x} = \\lim_{h \\to 0} \\frac{f(x+h) - f(x)}{h}$$ └─ block $$\\frac{\\partial f}{\\partial x} = \\lim_{h \\to 0} \\frac{f(x+h) - f(x)}{h}$$ └─ math_block $$\\frac{\\partial f}{\\partial x} = \\lim_{h \\to 0} \\frac{f(x+h) - f(x)}{h}$$
Example 96
✅ PASSED
Rule: document
$$$$
document $$$$ └─ block $$$$ └─ math_block $$$$
Example 97
✅ PASSED
Rule: document
$$\nx = 1\ny = 2\n$$
document $$\nx = 1\ny = 2\n$$ └─ block $$\nx = 1\ny = 2\n$$ └─ math_block $$\nx = 1\ny = 2\n$$
Comprehensive Marco Grammar Tests - Raw HTML 12/12 passed
Example 214
✅ PASSED
Rule: document
<span>text</span>
document <span>text</span> ├─ block <span> └─ block_html <span> └─ block text</span> └─ paragraph text</span> └─ paragraph_line text</span> └─ inline text</span> └─ inline_core text</span> └─ text text</span> ├─ word text ├─ safe_punct / └─ word span
Example 215
✅ PASSED
Rule: document
<strong>bold</strong>
document <strong>bold</strong> ├─ block <strong> └─ block_html <strong> └─ block bold</strong> └─ paragraph bold</strong> └─ paragraph_line bold</strong> └─ inline bold</strong> └─ inline_core bold</strong> └─ text bold</strong> ├─ word bold ├─ safe_punct / └─ word strong
Example 216
✅ PASSED
Rule: document
<em>italic</em>
document <em>italic</em> ├─ block <em> └─ block_html <em> └─ block italic</em> └─ paragraph italic</em> └─ paragraph_line italic</em> └─ inline italic</em> └─ inline_core italic</em> └─ text italic</em> ├─ word italic ├─ safe_punct / └─ word em
Example 217
✅ PASSED
Rule: document
<br/>
document <br/> └─ block <br/> └─ block_html <br/>
Example 218
✅ PASSED
Rule: document
<a href=\"url\">link</a>
document <a href=\"url\">link</a> ├─ block <a href=\"url\"> └─ block_html <a href=\"url\"> └─ block link</a> └─ paragraph link</a> └─ paragraph_line link</a> └─ inline link</a> └─ inline_core link</a> └─ text link</a> ├─ word link ├─ safe_punct / └─ word a
Example 219
✅ PASSED
Rule: document
<div>\ncontent\n</div>
document <div>\ncontent\n</div> ├─ block <div> └─ block_html <div> └─ block \ncontent\n</div> └─ unknown_block \ncontent\n</div>
Example 220
✅ PASSED
Rule: document
<div class=\"container\">\n<p>Paragraph</p>\n</div>
document <div class=\"container\">\n<p>Paragraph</p>\n</div> ├─ block <div class=\"container\"> └─ block_html <div class=\"container\"> └─ block \n<p>Paragraph</p>\n</div> └─ unknown_block \n<p>Paragraph</p>\n</div>
Example 221
✅ PASSED
Rule: document
<>
document <> └─ block <> └─ block_html <>
Example 222
✅ PASSED
Rule: document
<div>unclosed
document <div>unclosed ├─ block <div> └─ block_html <div> └─ block unclosed └─ paragraph unclosed └─ paragraph_line unclosed └─ inline unclosed └─ inline_core unclosed └─ text unclosed └─ word unclosed
Example 223
✅ PASSED
Rule: document
<!-- inline comment -->
document <!-- inline comment --> └─ block <!-- inline comment -->
Example 224
✅ PASSED
Rule: document
<!--\nblock comment\nwith multiple lines\n-->
document <!--\nblock comment\nwith multiple lines\n--> └─ block <!--\nblock comment\nwith multiple lines\n-->
Example 225
✅ PASSED
Rule: document
<!-- outer <!-- inner --> comment -->
document <!-- outer <!-- inner --> comment --> ├─ block <!-- outer <!-- inner --> └─ block comment --> └─ paragraph comment --> └─ paragraph_line comment --> └─ inline comment --> └─ inline_core comment --> └─ text comment --> └─ word comment
Comprehensive Marco Grammar Tests - Commonmark Fenced Code Blocks 29/29 passed
Example 1140
✅ PASSED
Rule: document
```\n<\n >\n```\n
document ```\n<\n >\n```\n └─ block ```\n<\n >\n```\n └─ unknown_block ```\n<\n >\n```\n
Example 1141
✅ PASSED
Rule: document
~~~\n<\n >\n~~~\n
document ~~~\n<\n >\n~~~\n ├─ block ~~~\n<\n >\n~~ └─ paragraph ~~~\n<\n >\n~~ └─ paragraph_line ~~~\n<\n >\n~~ └─ inline ~~~\n<\n >\n~~ └─ inline_core ~~~\n<\n >\n~~ └─ strikethrough ~~~\n<\n >\n~~ └─ strikethrough_tilde ~~~\n<\n >\n~~ └─ block ~\n └─ unknown_block ~\n
Example 1142
✅ PASSED
Rule: document
``\nfoo\n``\n
document ``\nfoo\n``\n ├─ block ``\nfoo\n`` └─ paragraph ``\nfoo\n`` └─ paragraph_line ``\nfoo\n`` ├─ inline ` └─ inline_core ` └─ text ` ├─ inline `\nfoo\n` └─ inline_core `\nfoo\n` └─ code_inline `\nfoo\n` └─ inline ` └─ inline_core ` └─ text ` └─ block \n └─ unknown_block \n
Example 1143
✅ PASSED
Rule: document
```\naaa\n~~~\n```\n
document ```\naaa\n~~~\n```\n └─ block ```\naaa\n~~~\n```\n └─ unknown_block ```\naaa\n~~~\n```\n
Example 1144
✅ PASSED
Rule: document
~~~\naaa\n```\n~~~\n
document ~~~\naaa\n```\n~~~\n ├─ block ~~~\naaa\n```\n~~ └─ paragraph ~~~\naaa\n```\n~~ └─ paragraph_line ~~~\naaa\n```\n~~ └─ inline ~~~\naaa\n```\n~~ └─ inline_core ~~~\naaa\n```\n~~ └─ strikethrough ~~~\naaa\n```\n~~ └─ strikethrough_tilde ~~~\naaa\n```\n~~ └─ block ~\n └─ unknown_block ~\n
Example 1145
✅ PASSED
Rule: document
````\naaa\n```\n``````\n
document ````\naaa\n```\n``````\n └─ block ````\naaa\n```\n``````\n └─ unknown_block ````\naaa\n```\n``````\n
Example 1146
✅ PASSED
Rule: document
~~~~\naaa\n~~~\n~~~~\n
document ~~~~\naaa\n~~~\n~~~~\n ├─ block ~~~~\naaa\n~~~\n~ └─ paragraph ~~~~\naaa\n~~~\n~ └─ paragraph_line ~~~~\naaa\n~~~\n~ ├─ inline ~ └─ inline_core ~ └─ text ~ └─ start_line_formatting ~ ├─ inline ~~~\naaa\n~~ └─ inline_core ~~~\naaa\n~~ └─ strikethrough ~~~\naaa\n~~ └─ strikethrough_tilde ~~~\naaa\n~~ └─ inline ~\n~ └─ inline_core ~\n~ └─ subscript ~\n~ └─ subscript_tilde ~\n~ └─ block ~~~\n └─ unknown_block ~~~\n
Example 1147
✅ PASSED
Rule: document
```\n
document ```\n └─ block ```\n └─ unknown_block ```\n
Example 1148
✅ PASSED
Rule: document
`````\n\n```\naaa\n
document `````\n\n```\naaa\n └─ block `````\n\n```\naaa\n └─ unknown_block `````\n\n```\naaa\n
Example 1149
✅ PASSED
Rule: document
> ```\n> aaa\n\nbbb\n
document > ```\n> aaa\n\nbbb\n ├─ block > └─ blockquote > └─ blockquote_line > └─ block ```\n> aaa\n\nbbb\n └─ unknown_block ```\n> aaa\n\nbbb\n
Example 1150
✅ PASSED
Rule: document
```\n\n \n```\n
document ```\n\n \n```\n └─ block ```\n\n \n```\n └─ unknown_block ```\n\n \n```\n
Example 1151
✅ PASSED
Rule: document
```\n```\n
document ```\n```\n └─ block ```\n```\n └─ unknown_block ```\n```\n
Example 1152
✅ PASSED
Rule: document
```\n aaa\naaa\n```\n
document ```\n aaa\naaa\n```\n └─ block ```\n aaa\naaa\n```\n └─ unknown_block ```\n aaa\naaa\n```\n
Example 1153
✅ PASSED
Rule: document
```\naaa\n aaa\naaa\n ```\n
document ```\naaa\n aaa\naaa\n ```\n └─ block ```\naaa\n aaa\naaa\n ```\n └─ unknown_block ```\naaa\n aaa\naaa\n ```\n
Example 1154
✅ PASSED
Rule: document
```\n aaa\n aaa\n aaa\n ```\n
document ```\n aaa\n aaa\n aaa\n ```\n └─ block ```\n aaa\n aaa\n aaa\n ```\n └─ unknown_block ```\n aaa\n aaa\n aaa\n ```\n
Example 1155
✅ PASSED
Rule: document
```\n aaa\n ```\n
document ```\n aaa\n ```\n └─ block ```\n aaa\n ```\n └─ unknown_block ```\n aaa\n ```\n
Example 1156
✅ PASSED
Rule: document
```\naaa\n ```\n
document ```\naaa\n ```\n └─ block ```\naaa\n ```\n └─ unknown_block ```\naaa\n ```\n
Example 1157
✅ PASSED
Rule: document
```\naaa\n ```\n
document ```\naaa\n ```\n └─ block ```\naaa\n ```\n └─ unknown_block ```\naaa\n ```\n
Example 1158
✅ PASSED
Rule: document
```\naaa\n ```\n
document ```\naaa\n ```\n └─ block ```\naaa\n ```\n └─ unknown_block ```\naaa\n ```\n
Example 1159
✅ PASSED
Rule: document
``` ```\naaa\n
document ``` ```\naaa\n └─ block ``` ```\naaa\n └─ unknown_block ``` ```\naaa\n
Example 1160
✅ PASSED
Rule: document
~~~~~~\naaa\n~~~ ~~\n
document ~~~~~~\naaa\n~~~ ~~\n ├─ block ~ └─ paragraph ~ └─ paragraph_line ~ └─ inline ~ └─ inline_core ~ └─ text ~ └─ start_line_formatting ~ └─ block ~~~~~\naaa\n~~~ ~~\n └─ unknown_block ~~~~~\naaa\n~~~ ~~\n
Example 1161
✅ PASSED
Rule: document
foo\n```\nbar\n```\nbaz\n
document foo\n```\nbar\n```\nbaz\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n```\nbar\n```\nbaz\n └─ unknown_block \n```\nbar\n```\nbaz\n
Example 1162
✅ PASSED
Rule: document
foo\n---\n~~~\nbar\n~~~\n# baz\n
document foo\n---\n~~~\nbar\n~~~\n# baz\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n---\n~~~\nbar\n~~~\n# baz\n └─ unknown_block \n---\n~~~\nbar\n~~~\n# baz\n
Example 1163
✅ PASSED
Rule: document
```ruby\ndef foo(x)\n return 3\nend\n```\n
document ```ruby\ndef foo(x)\n return 3\nend\n```\n └─ block ```ruby\ndef foo(x)\n return 3\nend\n```\n └─ unknown_block ```ruby\ndef foo(x)\n return 3\nend\n```\n
Example 1164
✅ PASSED
Rule: document
~~~~ ruby startline=3 $%@#$\ndef foo(x)\n return 3\nend\n~~~~~~~\n
document ~~~~ ruby startline=3 $%@#$\ndef foo(x)\n return 3\nend\n~~~~~~~\n ├─ block ~~~~ ruby startline=3 $%@#$\ndef foo(x)\n return 3\nend\n~~ └─ paragraph ~~~~ ruby startline=3 $%@#$\ndef foo(x)\n return 3\nend\n~~ └─ paragraph_line ~~~~ ruby startline=3 $%@#$\ndef foo(x)\n return 3\nend\n~~ ├─ inline ~ └─ inline_core ~ └─ text ~ └─ start_line_formatting ~ └─ inline ~~~ ruby startline=3 $%@#$\ndef foo(x)\n return 3\nend\n~~ └─ inline_core ~~~ ruby startline=3 $%@#$\ndef foo(x)\n return 3\nend\n~~ └─ strikethrough ~~~ ruby startline=3 $%@#$\ndef foo(x)\n return 3\nend\n~~ └─ strikethrough_tilde ~~~ ruby startline=3 $%@#$\ndef foo(x)\n return 3\nend\n~~ └─ block ~~~~~\n └─ unknown_block ~~~~~\n
Example 1165
✅ PASSED
Rule: document
````;\n````\n
document ````;\n````\n └─ block ````;\n````\n └─ unknown_block ````;\n````\n
Example 1166
✅ PASSED
Rule: document
``` aa ```\nfoo\n
document ``` aa ```\nfoo\n └─ block ``` aa ```\nfoo\n └─ unknown_block ``` aa ```\nfoo\n
Example 1167
✅ PASSED
Rule: document
~~~ aa ``` ~~~\nfoo\n~~~\n
document ~~~ aa ``` ~~~\nfoo\n~~~\n ├─ block ~~~ aa ``` ~~~\nfoo\n~ └─ paragraph ~~~ aa ``` ~~~\nfoo\n~ └─ paragraph_line ~~~ aa ``` ~~~\nfoo\n~ ├─ inline ~~~ aa ``` ~~ └─ inline_core ~~~ aa ``` ~~ └─ strikethrough ~~~ aa ``` ~~ └─ strikethrough_tilde ~~~ aa ``` ~~ └─ inline ~\nfoo\n~ └─ inline_core ~\nfoo\n~ └─ subscript ~\nfoo\n~ └─ subscript_tilde ~\nfoo\n~ └─ block ~~\n └─ unknown_block ~~\n
Example 1168
✅ PASSED
Rule: document
```\n``` aaa\n```\n
document ```\n``` aaa\n```\n └─ block ```\n``` aaa\n```\n └─ unknown_block ```\n``` aaa\n```\n
Comprehensive Marco Grammar Tests - Performance Tests 6/6 passed
Example 409
✅ PASSED
Rule: document
*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*
document *a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a* ├─ block *a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a └─ paragraph *a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a └─ paragraph_line *a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* ├─ inline a └─ inline_core a └─ text a └─ word a ├─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* └─ inline a └─ inline_core a └─ text a └─ word a └─ block * └─ unknown_block *
Example 410
✅ PASSED
Rule: document
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[not a link]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
document [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[not a link]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] └─ block [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[not a link]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] └─ paragraph [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[not a link]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] └─ paragraph_line [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[not a link]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] └─ inline [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[not a link]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] └─ inline_core [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[not a link]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] └─ text [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[not a link]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ├─ word not ├─ word a └─ word link
Example 411
✅ PASSED
Rule: document
```\n```\n```\n```\n```\n```\n```\n```\n```\n```\n```\n```\n```
document ```\n```\n```\n```\n```\n```\n```\n```\n```\n```\n```\n```\n``` └─ block ```\n```\n```\n```\n```\n```\n```\n```\n```\n```\n```\n```\n``` └─ unknown_block ```\n```\n```\n```\n```\n```\n```\n```\n```\n```\n```\n```\n```
Example 412
✅ PASSED
Rule: document
| A | B | C | D | E | F | G | H |\n|---|---|---|---|---|---|---|---|\n| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |\n| 9 | 10| 11| 12| 13| 14| 15| 16|\n| 17| 18| 19| 20| 21| 22| 23| 24|
document | A | B | C | D | E | F | G | H |\n|---|---|---|---|---|---|---|---|\n| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |\n| 9 | 10| 11| 12| 13| 14| 15| 16|\n| 17| 18| 19| 20| 21| 22| 23| 24| └─ block | A | B | C | D | E | F | G | H |\n|---|---|---|---|---|---|---|---|\n| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |\n| 9 | 10| 11| 12| 13| 14| 15| 16|\n| 17| 18| 19| 20| 21| 22| 23| 24| └─ unknown_block | A | B | C | D | E | F | G | H |\n|---|---|---|---|---|---|---|---|\n| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |\n| 9 | 10| 11| 12| 13| 14| 15| 16|\n| 17| 18| 19| 20| 21| 22| 23| 24|
Example 413
✅ PASSED
Rule: document
Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7]
document Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] └─ block Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] └─ paragraph Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] └─ paragraph_line Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] └─ inline Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] └─ inline_core Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] └─ text Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] ├─ word Text ├─ word 1 ├─ word more ├─ word 2 ├─ word text ├─ word 3 ├─ word here ├─ word 4 ├─ word and ├─ word 5 ├─ word there ├─ word 6 ├─ word everywhere └─ word 7
Example 414
✅ PASSED
Rule: document
[foo][bar]\n[bar][baz]\n[baz][foo]
document [foo][bar]\n[bar][baz]\n[baz][foo] ├─ block [foo][bar] └─ reference_link [foo][bar] ├─ block_caption foo └─ block_caption bar └─ block \n[bar][baz]\n[baz][foo] └─ unknown_block \n[bar][baz]\n[baz][foo]
Comprehensive Marco Grammar Tests - Task Lists 11/11 passed
Example 168
✅ PASSED
Rule: document
- [ ] Todo item
document - [ ] Todo item └─ block - [ ] Todo item └─ paragraph - [ ] Todo item └─ paragraph_line - [ ] Todo item └─ inline - [ ] Todo item └─ inline_core - [ ] Todo item └─ text - [ ] Todo item ├─ word Todo └─ word item
Example 169
✅ PASSED
Rule: document
- [x] Done item
document - [x] Done item └─ block - [x] Done item └─ list - [x] Done item └─ list_item - [x] Done item └─ task_list_item - [x] Done item ├─ list_marker - ├─ task_marker [x] └─ list_item_content Done item
Example 170
✅ PASSED
Rule: document
- [X] Also done
document - [X] Also done └─ block - [X] Also done └─ list - [X] Also done └─ list_item - [X] Also done └─ task_list_item - [X] Also done ├─ list_marker - ├─ task_marker [X] └─ list_item_content Also done
Example 171
✅ PASSED
Rule: document
- [ ] Task (priority: high)
document - [ ] Task (priority: high) └─ block - [ ] Task (priority: high) └─ paragraph - [ ] Task (priority: high) └─ paragraph_line - [ ] Task (priority: high) └─ inline - [ ] Task (priority: high) └─ inline_core - [ ] Task (priority: high) └─ text - [ ] Task (priority: high) ├─ word Task ├─ safe_punct ( ├─ word priority ├─ safe_punct : ├─ word high └─ safe_punct )
Example 172
✅ PASSED
Rule: document
- [x] Completed (assignee: john)
document - [x] Completed (assignee: john) └─ block - [x] Completed (assignee: john) └─ list - [x] Completed (assignee: john) └─ list_item - [x] Completed (assignee: john) └─ task_list_item - [x] Completed (assignee: john) ├─ list_marker - ├─ task_marker [x] └─ list_item_content Completed (assignee: john)
Example 173
✅ PASSED
Rule: document
-[ ] No space
document -[ ] No space └─ block -[ ] No space └─ paragraph -[ ] No space └─ paragraph_line -[ ] No space └─ inline -[ ] No space └─ inline_core -[ ] No space └─ text -[ ] No space ├─ word No └─ word space
Example 174
✅ PASSED
Rule: document
- [x] Multiple spaces
document - [x] Multiple spaces └─ block - [x] Multiple spaces └─ list - [x] Multiple spaces └─ list_item - [x] Multiple spaces └─ task_list_item - [x] Multiple spaces ├─ list_marker - ├─ task_marker [x] └─ list_item_content Multiple spaces
Example 175
✅ PASSED
Rule: document
- [?] Invalid marker
document - [?] Invalid marker └─ block - [?] Invalid marker └─ list - [?] Invalid marker └─ list_item - [?] Invalid marker └─ regular_list_item - [?] Invalid marker ├─ list_marker - └─ list_item_content [?] Invalid marker
Example 176
✅ PASSED
Rule: document
[ ] Inline task
document [ ] Inline task └─ block [ ] Inline task └─ paragraph [ ] Inline task └─ paragraph_line [ ] Inline task └─ inline [ ] Inline task └─ inline_core [ ] Inline task └─ text [ ] Inline task ├─ word Inline └─ word task
Example 177
✅ PASSED
Rule: document
[x] Completed inline
document [x] Completed inline └─ block [x] Completed inline └─ paragraph [x] Completed inline └─ paragraph_line [x] Completed inline └─ inline [x] Completed inline └─ inline_core [x] Completed inline └─ text [x] Completed inline ├─ word x ├─ word Completed └─ word inline
Example 178
✅ PASSED
Rule: document
[ ] Inline task (due: tomorrow)
document [ ] Inline task (due: tomorrow) └─ block [ ] Inline task (due: tomorrow) └─ paragraph [ ] Inline task (due: tomorrow) └─ paragraph_line [ ] Inline task (due: tomorrow) └─ inline [ ] Inline task (due: tomorrow) └─ inline_core [ ] Inline task (due: tomorrow) └─ text [ ] Inline task (due: tomorrow) ├─ word Inline ├─ word task ├─ safe_punct ( ├─ word due ├─ safe_punct : ├─ word tomorrow └─ safe_punct )
Comprehensive Marco Grammar Tests - Other Formatting 14/14 passed
Example 59
✅ PASSED
Rule: document
~~strikethrough~~
document ~~strikethrough~~ └─ block ~~strikethrough~~ └─ paragraph ~~strikethrough~~ └─ paragraph_line ~~strikethrough~~ └─ inline ~~strikethrough~~ └─ inline_core ~~strikethrough~~ └─ strikethrough ~~strikethrough~~ └─ strikethrough_tilde ~~strikethrough~~
Example 60
✅ PASSED
Rule: document
--strikethrough--
document --strikethrough-- └─ block --strikethrough-- └─ paragraph --strikethrough-- └─ paragraph_line --strikethrough-- └─ inline --strikethrough-- └─ inline_core --strikethrough-- └─ strikethrough --strikethrough-- └─ strikethrough_dash --strikethrough--
Example 61
✅ PASSED
Rule: document
~~~~
document ~~~~ ├─ block ~ └─ paragraph ~ └─ paragraph_line ~ └─ inline ~ └─ inline_core ~ └─ text ~ └─ start_line_formatting ~ └─ block ~~~ └─ unknown_block ~~~
Example 62
✅ PASSED
Rule: document
----
document ---- └─ block ---- └─ hr ---- └─ hr_dash ----
Example 63
✅ PASSED
Rule: document
~~strike with ~~inner~~ strike~~
document ~~strike with ~~inner~~ strike~~ └─ block ~~strike with ~~inner~~ strike~~ └─ paragraph ~~strike with ~~inner~~ strike~~ └─ paragraph_line ~~strike with ~~inner~~ strike~~ ├─ inline ~~strike with ~~ └─ inline_core ~~strike with ~~ └─ strikethrough ~~strike with ~~ └─ strikethrough_tilde ~~strike with ~~ ├─ inline inner └─ inline_core inner └─ text inner └─ word inner └─ inline ~~ strike~~ └─ inline_core ~~ strike~~ └─ strikethrough ~~ strike~~ └─ strikethrough_tilde ~~ strike~~
Example 64
✅ PASSED
Rule: document
==highlighted text==
document ==highlighted text== └─ block ==highlighted text== └─ paragraph ==highlighted text== └─ paragraph_line ==highlighted text== └─ inline ==highlighted text== └─ inline_core ==highlighted text== └─ highlight ==highlighted text==
Example 65
✅ PASSED
Rule: document
====
document ==== └─ block ==== └─ paragraph ==== └─ paragraph_line ==== └─ inline ==== └─ inline_core ==== └─ text ==== ├─ math_symbol = ├─ math_symbol = ├─ math_symbol = └─ math_symbol =
Example 66
✅ PASSED
Rule: document
==highlight with ==inner== highlight==
document ==highlight with ==inner== highlight== └─ block ==highlight with ==inner== highlight== └─ paragraph ==highlight with ==inner== highlight== └─ paragraph_line ==highlight with ==inner== highlight== ├─ inline ==highlight with == └─ inline_core ==highlight with == └─ highlight ==highlight with == └─ inline inner== highlight== └─ inline_core inner== highlight== └─ text inner== highlight== ├─ word inner ├─ math_symbol = ├─ math_symbol = ├─ word highlight ├─ math_symbol = └─ math_symbol =
Example 67
✅ PASSED
Rule: document
^super^
document ^super^ └─ block ^super^ └─ paragraph ^super^ └─ paragraph_line ^super^ └─ inline ^super^ └─ inline_core ^super^ └─ superscript ^super^
Example 68
✅ PASSED
Rule: document
^^
document ^^ └─ block ^^ └─ paragraph ^^ └─ paragraph_line ^^ └─ inline ^^ └─ inline_core ^^ └─ text ^^
Example 69
✅ PASSED
Rule: document
x^2^
document x^2^ └─ block x^2^ └─ paragraph x^2^ └─ paragraph_line x^2^ └─ inline x^2^ └─ inline_core x^2^ └─ text x^2^ ├─ word x └─ word 2
Example 70
✅ PASSED
Rule: document
˅sub˅
document ˅sub˅ └─ block ˅sub˅ └─ paragraph ˅sub˅ └─ paragraph_line ˅sub˅ └─ inline ˅sub˅ └─ inline_core ˅sub˅ └─ subscript ˅sub˅ └─ subscript_arrow ˅sub˅
Example 71
✅ PASSED
Rule: document
˅˅
document ˅˅ └─ block ˅˅ └─ paragraph ˅˅ └─ paragraph_line ˅˅ └─ inline ˅˅ └─ inline_core ˅˅ └─ text ˅˅
Example 72
✅ PASSED
Rule: document
H˅2˅O
document H˅2˅O └─ block H˅2˅O └─ paragraph H˅2˅O └─ paragraph_line H˅2˅O └─ inline H˅2˅O └─ inline_core H˅2˅O └─ text H˅2˅O ├─ word H ├─ word 2 └─ word O
Comprehensive Marco Grammar Tests - Commonmark Emphasis And Strong Emphasis 131/131 passed
Example 741
✅ PASSED
Rule: document
*foo bar*\n
document *foo bar*\n ├─ block *foo bar* └─ paragraph *foo bar* └─ paragraph_line *foo bar* └─ inline *foo bar* └─ inline_core *foo bar* └─ emphasis *foo bar* └─ italic *foo bar* └─ italic_asterisk *foo bar* └─ block \n └─ unknown_block \n
Example 742
✅ PASSED
Rule: document
a * foo bar*\n
document a * foo bar*\n ├─ block a * foo bar* └─ paragraph a * foo bar* └─ paragraph_line a * foo bar* ├─ inline a └─ inline_core a └─ text a └─ word a └─ inline * foo bar* └─ inline_core * foo bar* └─ emphasis * foo bar* └─ italic * foo bar* └─ italic_asterisk * foo bar* └─ block \n └─ unknown_block \n
Example 743
✅ PASSED
Rule: document
a*\"foo\"*\n
document a*\"foo\"*\n ├─ block a*\"foo\"* └─ paragraph a*\"foo\"* └─ paragraph_line a*\"foo\"* ├─ inline a └─ inline_core a └─ text a └─ word a └─ inline *\"foo\"* └─ inline_core *\"foo\"* └─ emphasis *\"foo\"* └─ italic *\"foo\"* └─ italic_asterisk *\"foo\"* └─ block \n └─ unknown_block \n
Example 744
✅ PASSED
Rule: document
*a*\n
document *a*\n ├─ block *a* └─ paragraph *a* └─ paragraph_line *a* └─ inline *a* └─ inline_core *a* └─ emphasis *a* └─ italic *a* └─ italic_asterisk *a* └─ block \n └─ unknown_block \n
Example 745
✅ PASSED
Rule: document
foo*bar*\n
document foo*bar*\n ├─ block foo*bar* └─ paragraph foo*bar* └─ paragraph_line foo*bar* ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ block \n └─ unknown_block \n
Example 746
✅ PASSED
Rule: document
5*6*78\n
document 5*6*78\n ├─ block 5*6*78 └─ paragraph 5*6*78 └─ paragraph_line 5*6*78 ├─ inline 5 └─ inline_core 5 └─ text 5 └─ word 5 ├─ inline *6* └─ inline_core *6* └─ emphasis *6* └─ italic *6* └─ italic_asterisk *6* └─ inline 78 └─ inline_core 78 └─ text 78 └─ word 78 └─ block \n └─ unknown_block \n
Example 747
✅ PASSED
Rule: document
_foo bar_\n
document _foo bar_\n ├─ block _foo bar_ └─ paragraph _foo bar_ └─ paragraph_line _foo bar_ └─ inline _foo bar_ └─ inline_core _foo bar_ └─ emphasis _foo bar_ └─ italic _foo bar_ └─ italic_underscore _foo bar_ └─ block \n └─ unknown_block \n
Example 748
✅ PASSED
Rule: document
_ foo bar_\n
document _ foo bar_\n ├─ block _ foo bar_ └─ paragraph _ foo bar_ └─ paragraph_line _ foo bar_ └─ inline _ foo bar_ └─ inline_core _ foo bar_ └─ emphasis _ foo bar_ └─ italic _ foo bar_ └─ italic_underscore _ foo bar_ └─ block \n └─ unknown_block \n
Example 749
✅ PASSED
Rule: document
a_\"foo\"_\n
document a_\"foo\"_\n ├─ block a_\"foo\"_ └─ paragraph a_\"foo\"_ └─ paragraph_line a_\"foo\"_ ├─ inline a └─ inline_core a └─ text a └─ word a └─ inline _\"foo\"_ └─ inline_core _\"foo\"_ └─ emphasis _\"foo\"_ └─ italic _\"foo\"_ └─ italic_underscore _\"foo\"_ └─ block \n └─ unknown_block \n
Example 750
✅ PASSED
Rule: document
foo_bar_\n
document foo_bar_\n ├─ block foo_bar_ └─ paragraph foo_bar_ └─ paragraph_line foo_bar_ ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline _bar_ └─ inline_core _bar_ └─ emphasis _bar_ └─ italic _bar_ └─ italic_underscore _bar_ └─ block \n └─ unknown_block \n
Example 751
✅ PASSED
Rule: document
5_6_78\n
document 5_6_78\n ├─ block 5_6_78 └─ paragraph 5_6_78 └─ paragraph_line 5_6_78 ├─ inline 5 └─ inline_core 5 └─ text 5 └─ word 5 ├─ inline _6_ └─ inline_core _6_ └─ emphasis _6_ └─ italic _6_ └─ italic_underscore _6_ └─ inline 78 └─ inline_core 78 └─ text 78 └─ word 78 └─ block \n └─ unknown_block \n
Example 752
✅ PASSED
Rule: document
пристаням_стремятся_\n
document пристаням_стремятся_\n ├─ block пристаням_стремятся_ └─ paragraph пристаням_стремятся_ └─ paragraph_line пристаням_стремятся_ ├─ inline пристаням └─ inline_core пристаням └─ text пристаням └─ word пристаням └─ inline _стремятся_ └─ inline_core _стремятся_ └─ emphasis _стремятся_ └─ italic _стремятся_ └─ italic_underscore _стремятся_ └─ block \n └─ unknown_block \n
Example 753
✅ PASSED
Rule: document
aa_\"bb\"_cc\n
document aa_\"bb\"_cc\n ├─ block aa_\"bb\"_cc └─ paragraph aa_\"bb\"_cc └─ paragraph_line aa_\"bb\"_cc ├─ inline aa └─ inline_core aa └─ text aa └─ word aa ├─ inline _\"bb\"_ └─ inline_core _\"bb\"_ └─ emphasis _\"bb\"_ └─ italic _\"bb\"_ └─ italic_underscore _\"bb\"_ └─ inline cc └─ inline_core cc └─ text cc └─ word cc └─ block \n └─ unknown_block \n
Example 754
✅ PASSED
Rule: document
foo-_(bar)_\n
document foo-_(bar)_\n ├─ block foo-_(bar)_ └─ paragraph foo-_(bar)_ └─ paragraph_line foo-_(bar)_ ├─ inline foo- └─ inline_core foo- └─ text foo- └─ word foo └─ inline _(bar)_ └─ inline_core _(bar)_ └─ emphasis _(bar)_ └─ italic _(bar)_ └─ italic_underscore _(bar)_ └─ block \n └─ unknown_block \n
Example 755
✅ PASSED
Rule: document
_foo*\n
document _foo*\n └─ block _foo*\n └─ paragraph _foo*\n └─ paragraph_line _foo*\n └─ inline _foo*\n └─ inline_core _foo*\n └─ emphasis _foo*\n └─ italic _foo*\n └─ italic_underscore _foo*\n
Example 756
✅ PASSED
Rule: document
*foo bar *\n
document *foo bar *\n ├─ block *foo bar * └─ paragraph *foo bar * └─ paragraph_line *foo bar * └─ inline *foo bar * └─ inline_core *foo bar * └─ emphasis *foo bar * └─ italic *foo bar * └─ italic_asterisk *foo bar * └─ block \n └─ unknown_block \n
Example 757
✅ PASSED
Rule: document
*foo bar\n*\n
document *foo bar\n*\n ├─ block *foo bar\n* └─ paragraph *foo bar\n* └─ paragraph_line *foo bar\n* └─ inline *foo bar\n* └─ inline_core *foo bar\n* └─ emphasis *foo bar\n* └─ italic *foo bar\n* └─ italic_asterisk *foo bar\n* └─ block \n └─ unknown_block \n
Example 758
✅ PASSED
Rule: document
*(*foo)\n
document *(*foo)\n ├─ block *(*foo) └─ paragraph *(*foo) └─ paragraph_line *(*foo) ├─ inline *(* └─ inline_core *(* └─ emphasis *(* └─ italic *(* └─ italic_asterisk *(* └─ inline foo) └─ inline_core foo) └─ text foo) ├─ word foo └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 759
✅ PASSED
Rule: document
*(*foo*)*\n
document *(*foo*)*\n ├─ block *(*foo*)* └─ paragraph *(*foo*)* └─ paragraph_line *(*foo*)* ├─ inline *(* └─ inline_core *(* └─ emphasis *(* └─ italic *(* └─ italic_asterisk *(* ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline *)* └─ inline_core *)* └─ emphasis *)* └─ italic *)* └─ italic_asterisk *)* └─ block \n └─ unknown_block \n
Example 760
✅ PASSED
Rule: document
*foo*bar\n
document *foo*bar\n ├─ block *foo*bar └─ paragraph *foo*bar └─ paragraph_line *foo*bar ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* └─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ block \n └─ unknown_block \n
Example 761
✅ PASSED
Rule: document
_foo bar _\n
document _foo bar _\n ├─ block _foo bar _ └─ paragraph _foo bar _ └─ paragraph_line _foo bar _ └─ inline _foo bar _ └─ inline_core _foo bar _ └─ emphasis _foo bar _ └─ italic _foo bar _ └─ italic_underscore _foo bar _ └─ block \n └─ unknown_block \n
Example 762
✅ PASSED
Rule: document
_(_foo)\n
document _(_foo)\n ├─ block _(_foo) └─ paragraph _(_foo) └─ paragraph_line _(_foo) ├─ inline _(_ └─ inline_core _(_ └─ emphasis _(_ └─ italic _(_ └─ italic_underscore _(_ └─ inline foo) └─ inline_core foo) └─ text foo) ├─ word foo └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 763
✅ PASSED
Rule: document
_(_foo_)_\n
document _(_foo_)_\n ├─ block _(_foo_)_ └─ paragraph _(_foo_)_ └─ paragraph_line _(_foo_)_ ├─ inline _(_ └─ inline_core _(_ └─ emphasis _(_ └─ italic _(_ └─ italic_underscore _(_ ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline _)_ └─ inline_core _)_ └─ emphasis _)_ └─ italic _)_ └─ italic_underscore _)_ └─ block \n └─ unknown_block \n
Example 764
✅ PASSED
Rule: document
_foo_bar\n
document _foo_bar\n ├─ block _foo_bar └─ paragraph _foo_bar └─ paragraph_line _foo_bar ├─ inline _foo_ └─ inline_core _foo_ └─ emphasis _foo_ └─ italic _foo_ └─ italic_underscore _foo_ └─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ block \n └─ unknown_block \n
Example 765
✅ PASSED
Rule: document
_пристаням_стремятся\n
document _пристаням_стремятся\n ├─ block _пристаням_стремятся └─ paragraph _пристаням_стремятся └─ paragraph_line _пристаням_стремятся ├─ inline _пристаням_ └─ inline_core _пристаням_ └─ emphasis _пристаням_ └─ italic _пристаням_ └─ italic_underscore _пристаням_ └─ inline стремятся └─ inline_core стремятся └─ text стремятся └─ word стремятся └─ block \n └─ unknown_block \n
Example 766
✅ PASSED
Rule: document
_foo_bar_baz_\n
document _foo_bar_baz_\n ├─ block _foo_bar_baz_ └─ paragraph _foo_bar_baz_ └─ paragraph_line _foo_bar_baz_ ├─ inline _foo_ └─ inline_core _foo_ └─ emphasis _foo_ └─ italic _foo_ └─ italic_underscore _foo_ ├─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ inline _baz_ └─ inline_core _baz_ └─ emphasis _baz_ └─ italic _baz_ └─ italic_underscore _baz_ └─ block \n └─ unknown_block \n
Example 767
✅ PASSED
Rule: document
_(bar)_.\n
document _(bar)_.\n ├─ block _(bar)_. └─ paragraph _(bar)_. └─ paragraph_line _(bar)_. ├─ inline _(bar)_ └─ inline_core _(bar)_ └─ emphasis _(bar)_ └─ italic _(bar)_ └─ italic_underscore _(bar)_ └─ inline . └─ inline_core . └─ text . └─ safe_punct . └─ block \n └─ unknown_block \n
Example 768
✅ PASSED
Rule: document
**foo bar**\n
document **foo bar**\n ├─ block **foo bar** └─ paragraph **foo bar** └─ paragraph_line **foo bar** └─ inline **foo bar** └─ inline_core **foo bar** └─ emphasis **foo bar** └─ bold **foo bar** └─ bold_asterisk **foo bar** └─ block \n └─ unknown_block \n
Example 769
✅ PASSED
Rule: document
** foo bar**\n
document ** foo bar**\n ├─ block ** foo bar** └─ paragraph ** foo bar** └─ paragraph_line ** foo bar** └─ inline ** foo bar** └─ inline_core ** foo bar** └─ emphasis ** foo bar** └─ bold ** foo bar** └─ bold_asterisk ** foo bar** └─ block \n └─ unknown_block \n
Example 770
✅ PASSED
Rule: document
a**\"foo\"**\n
document a**\"foo\"**\n ├─ block a**\"foo\"** └─ paragraph a**\"foo\"** └─ paragraph_line a**\"foo\"** ├─ inline a └─ inline_core a └─ text a └─ word a └─ inline **\"foo\"** └─ inline_core **\"foo\"** └─ emphasis **\"foo\"** └─ bold **\"foo\"** └─ bold_asterisk **\"foo\"** └─ block \n └─ unknown_block \n
Example 771
✅ PASSED
Rule: document
foo**bar**\n
document foo**bar**\n ├─ block foo**bar** └─ paragraph foo**bar** └─ paragraph_line foo**bar** ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline **bar** └─ inline_core **bar** └─ emphasis **bar** └─ bold **bar** └─ bold_asterisk **bar** └─ block \n └─ unknown_block \n
Example 772
✅ PASSED
Rule: document
__foo bar__\n
document __foo bar__\n ├─ block __foo bar__ └─ paragraph __foo bar__ └─ paragraph_line __foo bar__ └─ inline __foo bar__ └─ inline_core __foo bar__ └─ emphasis __foo bar__ └─ bold __foo bar__ └─ bold_underscore __foo bar__ └─ block \n └─ unknown_block \n
Example 773
✅ PASSED
Rule: document
__ foo bar__\n
document __ foo bar__\n ├─ block __ foo bar__ └─ paragraph __ foo bar__ └─ paragraph_line __ foo bar__ └─ inline __ foo bar__ └─ inline_core __ foo bar__ └─ emphasis __ foo bar__ └─ bold __ foo bar__ └─ bold_underscore __ foo bar__ └─ block \n └─ unknown_block \n
Example 774
✅ PASSED
Rule: document
__\nfoo bar__\n
document __\nfoo bar__\n ├─ block __\nfoo bar__ └─ paragraph __\nfoo bar__ └─ paragraph_line __\nfoo bar__ └─ inline __\nfoo bar__ └─ inline_core __\nfoo bar__ └─ emphasis __\nfoo bar__ └─ bold __\nfoo bar__ └─ bold_underscore __\nfoo bar__ └─ block \n └─ unknown_block \n
Example 775
✅ PASSED
Rule: document
a__\"foo\"__\n
document a__\"foo\"__\n ├─ block a__\"foo\"__ └─ paragraph a__\"foo\"__ └─ paragraph_line a__\"foo\"__ ├─ inline a └─ inline_core a └─ text a └─ word a └─ inline __\"foo\"__ └─ inline_core __\"foo\"__ └─ emphasis __\"foo\"__ └─ bold __\"foo\"__ └─ bold_underscore __\"foo\"__ └─ block \n └─ unknown_block \n
Example 776
✅ PASSED
Rule: document
foo__bar__\n
document foo__bar__\n ├─ block foo__bar__ └─ paragraph foo__bar__ └─ paragraph_line foo__bar__ ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline __bar__ └─ inline_core __bar__ └─ emphasis __bar__ └─ bold __bar__ └─ bold_underscore __bar__ └─ block \n └─ unknown_block \n
Example 777
✅ PASSED
Rule: document
5__6__78\n
document 5__6__78\n ├─ block 5__6__78 └─ paragraph 5__6__78 └─ paragraph_line 5__6__78 ├─ inline 5 └─ inline_core 5 └─ text 5 └─ word 5 ├─ inline __6__ └─ inline_core __6__ └─ emphasis __6__ └─ bold __6__ └─ bold_underscore __6__ └─ inline 78 └─ inline_core 78 └─ text 78 └─ word 78 └─ block \n └─ unknown_block \n
Example 778
✅ PASSED
Rule: document
пристаням__стремятся__\n
document пристаням__стремятся__\n ├─ block пристаням__стремятся__ └─ paragraph пристаням__стремятся__ └─ paragraph_line пристаням__стремятся__ ├─ inline пристаням └─ inline_core пристаням └─ text пристаням └─ word пристаням └─ inline __стремятся__ └─ inline_core __стремятся__ └─ emphasis __стремятся__ └─ bold __стремятся__ └─ bold_underscore __стремятся__ └─ block \n └─ unknown_block \n
Example 779
✅ PASSED
Rule: document
__foo, __bar__, baz__\n
document __foo, __bar__, baz__\n ├─ block __foo, __bar__, baz__ └─ paragraph __foo, __bar__, baz__ └─ paragraph_line __foo, __bar__, baz__ ├─ inline __foo, __ └─ inline_core __foo, __ └─ emphasis __foo, __ └─ bold __foo, __ └─ bold_underscore __foo, __ ├─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ inline __, baz__ └─ inline_core __, baz__ └─ emphasis __, baz__ └─ bold __, baz__ └─ bold_underscore __, baz__ └─ block \n └─ unknown_block \n
Example 780
✅ PASSED
Rule: document
foo-__(bar)__\n
document foo-__(bar)__\n ├─ block foo-__(bar)__ └─ paragraph foo-__(bar)__ └─ paragraph_line foo-__(bar)__ ├─ inline foo- └─ inline_core foo- └─ text foo- └─ word foo └─ inline __(bar)__ └─ inline_core __(bar)__ └─ emphasis __(bar)__ └─ bold __(bar)__ └─ bold_underscore __(bar)__ └─ block \n └─ unknown_block \n
Example 781
✅ PASSED
Rule: document
**foo bar **\n
document **foo bar **\n ├─ block **foo bar ** └─ paragraph **foo bar ** └─ paragraph_line **foo bar ** └─ inline **foo bar ** └─ inline_core **foo bar ** └─ emphasis **foo bar ** └─ bold **foo bar ** └─ bold_asterisk **foo bar ** └─ block \n └─ unknown_block \n
Example 782
✅ PASSED
Rule: document
**(**foo)\n
document **(**foo)\n ├─ block **(**foo) └─ paragraph **(**foo) └─ paragraph_line **(**foo) ├─ inline **(** └─ inline_core **(** └─ emphasis **(** └─ bold **(** └─ bold_asterisk **(** └─ inline foo) └─ inline_core foo) └─ text foo) ├─ word foo └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 783
✅ PASSED
Rule: document
*(**foo**)*\n
document *(**foo**)*\n ├─ block *(**foo**)* └─ paragraph *(**foo**)* └─ paragraph_line *(**foo**)* ├─ inline *(* └─ inline_core *(* └─ emphasis *(* └─ italic *(* └─ italic_asterisk *(* ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* └─ inline *)* └─ inline_core *)* └─ emphasis *)* └─ italic *)* └─ italic_asterisk *)* └─ block \n └─ unknown_block \n
Example 784
✅ PASSED
Rule: document
**Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)**\n
document **Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)**\n ├─ block **Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)** └─ paragraph **Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)** └─ paragraph_line **Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)** └─ inline **Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)** └─ inline_core **Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)** └─ emphasis **Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)** └─ bold **Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)** └─ bold_asterisk **Gomphocarpus (*Gomphocarpus physocarpus*, syn.\n*Asclepias physocarpa*)** └─ block \n └─ unknown_block \n
Example 785
✅ PASSED
Rule: document
**foo \"*bar*\" foo**\n
document **foo \"*bar*\" foo**\n ├─ block **foo \"*bar*\" foo** └─ paragraph **foo \"*bar*\" foo** └─ paragraph_line **foo \"*bar*\" foo** └─ inline **foo \"*bar*\" foo** └─ inline_core **foo \"*bar*\" foo** └─ emphasis **foo \"*bar*\" foo** └─ bold **foo \"*bar*\" foo** └─ bold_asterisk **foo \"*bar*\" foo** └─ block \n └─ unknown_block \n
Example 786
✅ PASSED
Rule: document
**foo**bar\n
document **foo**bar\n ├─ block **foo**bar └─ paragraph **foo**bar └─ paragraph_line **foo**bar ├─ inline **foo** └─ inline_core **foo** └─ emphasis **foo** └─ bold **foo** └─ bold_asterisk **foo** └─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ block \n └─ unknown_block \n
Example 787
✅ PASSED
Rule: document
__foo bar __\n
document __foo bar __\n ├─ block __foo bar __ └─ paragraph __foo bar __ └─ paragraph_line __foo bar __ └─ inline __foo bar __ └─ inline_core __foo bar __ └─ emphasis __foo bar __ └─ bold __foo bar __ └─ bold_underscore __foo bar __ └─ block \n └─ unknown_block \n
Example 788
✅ PASSED
Rule: document
__(__foo)\n
document __(__foo)\n ├─ block __(__foo) └─ paragraph __(__foo) └─ paragraph_line __(__foo) ├─ inline __(__ └─ inline_core __(__ └─ emphasis __(__ └─ bold __(__ └─ bold_underscore __(__ └─ inline foo) └─ inline_core foo) └─ text foo) ├─ word foo └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 789
✅ PASSED
Rule: document
_(__foo__)_\n
document _(__foo__)_\n ├─ block _(__foo__)_ └─ paragraph _(__foo__)_ └─ paragraph_line _(__foo__)_ ├─ inline _(_ └─ inline_core _(_ └─ emphasis _(_ └─ italic _(_ └─ italic_underscore _(_ ├─ inline _foo_ └─ inline_core _foo_ └─ emphasis _foo_ └─ italic _foo_ └─ italic_underscore _foo_ └─ inline _)_ └─ inline_core _)_ └─ emphasis _)_ └─ italic _)_ └─ italic_underscore _)_ └─ block \n └─ unknown_block \n
Example 790
✅ PASSED
Rule: document
__foo__bar\n
document __foo__bar\n ├─ block __foo__bar └─ paragraph __foo__bar └─ paragraph_line __foo__bar ├─ inline __foo__ └─ inline_core __foo__ └─ emphasis __foo__ └─ bold __foo__ └─ bold_underscore __foo__ └─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ block \n └─ unknown_block \n
Example 791
✅ PASSED
Rule: document
__пристаням__стремятся\n
document __пристаням__стремятся\n ├─ block __пристаням__стремятся └─ paragraph __пристаням__стремятся └─ paragraph_line __пристаням__стремятся ├─ inline __пристаням__ └─ inline_core __пристаням__ └─ emphasis __пристаням__ └─ bold __пристаням__ └─ bold_underscore __пристаням__ └─ inline стремятся └─ inline_core стремятся └─ text стремятся └─ word стремятся └─ block \n └─ unknown_block \n
Example 792
✅ PASSED
Rule: document
__foo__bar__baz__\n
document __foo__bar__baz__\n ├─ block __foo__bar__baz__ └─ paragraph __foo__bar__baz__ └─ paragraph_line __foo__bar__baz__ ├─ inline __foo__ └─ inline_core __foo__ └─ emphasis __foo__ └─ bold __foo__ └─ bold_underscore __foo__ ├─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ inline __baz__ └─ inline_core __baz__ └─ emphasis __baz__ └─ bold __baz__ └─ bold_underscore __baz__ └─ block \n └─ unknown_block \n
Example 793
✅ PASSED
Rule: document
__(bar)__.\n
document __(bar)__.\n ├─ block __(bar)__. └─ paragraph __(bar)__. └─ paragraph_line __(bar)__. ├─ inline __(bar)__ └─ inline_core __(bar)__ └─ emphasis __(bar)__ └─ bold __(bar)__ └─ bold_underscore __(bar)__ └─ inline . └─ inline_core . └─ text . └─ safe_punct . └─ block \n └─ unknown_block \n
Example 794
✅ PASSED
Rule: document
*foo [bar](/url)*\n
document *foo [bar](/url)*\n ├─ block *foo [bar](/url)* └─ paragraph *foo [bar](/url)* └─ paragraph_line *foo [bar](/url)* └─ inline *foo [bar](/url)* └─ inline_core *foo [bar](/url)* └─ emphasis *foo [bar](/url)* └─ italic *foo [bar](/url)* └─ italic_asterisk *foo [bar](/url)* └─ block \n └─ unknown_block \n
Example 795
✅ PASSED
Rule: document
*foo\nbar*\n
document *foo\nbar*\n ├─ block *foo\nbar* └─ paragraph *foo\nbar* └─ paragraph_line *foo\nbar* └─ inline *foo\nbar* └─ inline_core *foo\nbar* └─ emphasis *foo\nbar* └─ italic *foo\nbar* └─ italic_asterisk *foo\nbar* └─ block \n └─ unknown_block \n
Example 796
✅ PASSED
Rule: document
_foo __bar__ baz_\n
document _foo __bar__ baz_\n ├─ block _foo __bar__ baz_ └─ paragraph _foo __bar__ baz_ └─ paragraph_line _foo __bar__ baz_ ├─ inline _foo _ └─ inline_core _foo _ └─ emphasis _foo _ └─ italic _foo _ └─ italic_underscore _foo _ ├─ inline _bar_ └─ inline_core _bar_ └─ emphasis _bar_ └─ italic _bar_ └─ italic_underscore _bar_ └─ inline _ baz_ └─ inline_core _ baz_ └─ emphasis _ baz_ └─ italic _ baz_ └─ italic_underscore _ baz_ └─ block \n └─ unknown_block \n
Example 797
✅ PASSED
Rule: document
_foo _bar_ baz_\n
document _foo _bar_ baz_\n ├─ block _foo _bar_ baz_ └─ paragraph _foo _bar_ baz_ └─ paragraph_line _foo _bar_ baz_ ├─ inline _foo _ └─ inline_core _foo _ └─ emphasis _foo _ └─ italic _foo _ └─ italic_underscore _foo _ ├─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ inline _ baz_ └─ inline_core _ baz_ └─ emphasis _ baz_ └─ italic _ baz_ └─ italic_underscore _ baz_ └─ block \n └─ unknown_block \n
Example 798
✅ PASSED
Rule: document
__foo_ bar_\n
document __foo_ bar_\n └─ block __foo_ bar_\n └─ paragraph __foo_ bar_\n └─ paragraph_line __foo_ bar_\n └─ inline __foo_ bar_\n └─ inline_core __foo_ bar_\n └─ emphasis __foo_ bar_\n └─ bold __foo_ bar_\n └─ bold_underscore __foo_ bar_\n
Example 799
✅ PASSED
Rule: document
*foo *bar**\n
document *foo *bar**\n └─ block *foo *bar**\n └─ paragraph *foo *bar**\n └─ paragraph_line *foo *bar**\n ├─ inline *foo * └─ inline_core *foo * └─ emphasis *foo * └─ italic *foo * └─ italic_asterisk *foo * ├─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ inline **\n └─ inline_core **\n └─ emphasis **\n └─ bold **\n └─ bold_asterisk **\n
Example 800
✅ PASSED
Rule: document
*foo **bar** baz*\n
document *foo **bar** baz*\n ├─ block *foo **bar** baz* └─ paragraph *foo **bar** baz* └─ paragraph_line *foo **bar** baz* ├─ inline *foo * └─ inline_core *foo * └─ emphasis *foo * └─ italic *foo * └─ italic_asterisk *foo * ├─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ inline * baz* └─ inline_core * baz* └─ emphasis * baz* └─ italic * baz* └─ italic_asterisk * baz* └─ block \n └─ unknown_block \n
Example 801
✅ PASSED
Rule: document
*foo**bar**baz*\n
document *foo**bar**baz*\n ├─ block *foo**bar**baz* └─ paragraph *foo**bar**baz* └─ paragraph_line *foo**bar**baz* ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* ├─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ inline *baz* └─ inline_core *baz* └─ emphasis *baz* └─ italic *baz* └─ italic_asterisk *baz* └─ block \n └─ unknown_block \n
Example 802
✅ PASSED
Rule: document
*foo**bar*\n
document *foo**bar*\n ├─ block *foo**bar* └─ paragraph *foo**bar* └─ paragraph_line *foo**bar* ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* └─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ block \n └─ unknown_block \n
Example 803
✅ PASSED
Rule: document
***foo** bar*\n
document ***foo** bar*\n ├─ block *** └─ hr *** └─ hr_star *** └─ block foo** bar*\n └─ paragraph foo** bar*\n └─ paragraph_line foo** bar*\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline ** bar*\n └─ inline_core ** bar*\n └─ emphasis ** bar*\n └─ bold ** bar*\n └─ bold_asterisk ** bar*\n
Example 804
✅ PASSED
Rule: document
*foo **bar***\n
document *foo **bar***\n └─ block *foo **bar***\n └─ paragraph *foo **bar***\n └─ paragraph_line *foo **bar***\n ├─ inline *foo * └─ inline_core *foo * └─ emphasis *foo * └─ italic *foo * └─ italic_asterisk *foo * ├─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ inline **\n └─ inline_core **\n └─ emphasis **\n └─ bold **\n └─ bold_asterisk **\n
Example 805
✅ PASSED
Rule: document
*foo**bar***\n
document *foo**bar***\n └─ block *foo**bar***\n └─ paragraph *foo**bar***\n └─ paragraph_line *foo**bar***\n ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* ├─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ inline **\n └─ inline_core **\n └─ emphasis **\n └─ bold **\n └─ bold_asterisk **\n
Example 806
✅ PASSED
Rule: document
foo***bar***baz\n
document foo***bar***baz\n ├─ block foo***bar***baz └─ paragraph foo***bar***baz └─ paragraph_line foo***bar***baz ├─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ inline ***bar*** └─ inline_core ***bar*** └─ emphasis ***bar*** └─ bold_italic ***bar*** └─ bold_italic_triple_asterisk ***bar*** └─ inline baz └─ inline_core baz └─ text baz └─ word baz └─ block \n └─ unknown_block \n
Example 807
✅ PASSED
Rule: document
foo******bar*********baz\n
document foo******bar*********baz\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ block ****** └─ hr ****** └─ hr_star ****** ├─ block bar └─ paragraph bar └─ paragraph_line bar └─ inline bar └─ inline_core bar └─ text bar └─ word bar ├─ block ********* └─ hr ********* └─ hr_star ********* ├─ block baz └─ paragraph baz └─ paragraph_line baz └─ inline baz └─ inline_core baz └─ text baz └─ word baz └─ block \n └─ unknown_block \n
Example 808
✅ PASSED
Rule: document
*foo **bar *baz* bim** bop*\n
document *foo **bar *baz* bim** bop*\n ├─ block *foo **bar *baz* bim** bop* └─ paragraph *foo **bar *baz* bim** bop* └─ paragraph_line *foo **bar *baz* bim** bop* ├─ inline *foo * └─ inline_core *foo * └─ emphasis *foo * └─ italic *foo * └─ italic_asterisk *foo * ├─ inline *bar * └─ inline_core *bar * └─ emphasis *bar * └─ italic *bar * └─ italic_asterisk *bar * ├─ inline baz └─ inline_core baz └─ text baz └─ word baz ├─ inline * bim* └─ inline_core * bim* └─ emphasis * bim* └─ italic * bim* └─ italic_asterisk * bim* └─ inline * bop* └─ inline_core * bop* └─ emphasis * bop* └─ italic * bop* └─ italic_asterisk * bop* └─ block \n └─ unknown_block \n
Example 809
✅ PASSED
Rule: document
*foo [*bar*](/url)*\n
document *foo [*bar*](/url)*\n ├─ block *foo [*bar*](/url)* └─ paragraph *foo [*bar*](/url)* └─ paragraph_line *foo [*bar*](/url)* ├─ inline *foo [* └─ inline_core *foo [* └─ emphasis *foo [* └─ italic *foo [* └─ italic_asterisk *foo [* ├─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ inline *](/url)* └─ inline_core *](/url)* └─ emphasis *](/url)* └─ italic *](/url)* └─ italic_asterisk *](/url)* └─ block \n └─ unknown_block \n
Example 810
✅ PASSED
Rule: document
** is not an empty emphasis\n
document ** is not an empty emphasis\n └─ block ** is not an empty emphasis\n └─ paragraph ** is not an empty emphasis\n └─ paragraph_line ** is not an empty emphasis\n └─ inline ** is not an empty emphasis\n └─ inline_core ** is not an empty emphasis\n └─ emphasis ** is not an empty emphasis\n └─ bold ** is not an empty emphasis\n └─ bold_asterisk ** is not an empty emphasis\n
Example 811
✅ PASSED
Rule: document
**** is not an empty strong emphasis\n
document **** is not an empty strong emphasis\n ├─ block **** └─ hr **** └─ hr_star **** ├─ block is not an empty strong emphasis └─ paragraph is not an empty strong emphasis └─ paragraph_line is not an empty strong emphasis └─ inline is not an empty strong emphasis └─ inline_core is not an empty strong emphasis └─ text is not an empty strong emphasis ├─ word is ├─ word not ├─ word an ├─ word empty ├─ word strong └─ word emphasis └─ block \n └─ unknown_block \n
Example 812
✅ PASSED
Rule: document
**foo [bar](/url)**\n
document **foo [bar](/url)**\n ├─ block **foo [bar](/url)** └─ paragraph **foo [bar](/url)** └─ paragraph_line **foo [bar](/url)** └─ inline **foo [bar](/url)** └─ inline_core **foo [bar](/url)** └─ emphasis **foo [bar](/url)** └─ bold **foo [bar](/url)** └─ bold_asterisk **foo [bar](/url)** └─ block \n └─ unknown_block \n
Example 813
✅ PASSED
Rule: document
**foo\nbar**\n
document **foo\nbar**\n ├─ block **foo\nbar** └─ paragraph **foo\nbar** └─ paragraph_line **foo\nbar** └─ inline **foo\nbar** └─ inline_core **foo\nbar** └─ emphasis **foo\nbar** └─ bold **foo\nbar** └─ bold_asterisk **foo\nbar** └─ block \n └─ unknown_block \n
Example 814
✅ PASSED
Rule: document
__foo _bar_ baz__\n
document __foo _bar_ baz__\n ├─ block __foo _bar_ baz__ └─ paragraph __foo _bar_ baz__ └─ paragraph_line __foo _bar_ baz__ └─ inline __foo _bar_ baz__ └─ inline_core __foo _bar_ baz__ └─ emphasis __foo _bar_ baz__ └─ bold __foo _bar_ baz__ └─ bold_underscore __foo _bar_ baz__ └─ block \n └─ unknown_block \n
Example 815
✅ PASSED
Rule: document
__foo __bar__ baz__\n
document __foo __bar__ baz__\n ├─ block __foo __bar__ baz__ └─ paragraph __foo __bar__ baz__ └─ paragraph_line __foo __bar__ baz__ ├─ inline __foo __ └─ inline_core __foo __ └─ emphasis __foo __ └─ bold __foo __ └─ bold_underscore __foo __ ├─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ inline __ baz__ └─ inline_core __ baz__ └─ emphasis __ baz__ └─ bold __ baz__ └─ bold_underscore __ baz__ └─ block \n └─ unknown_block \n
Example 816
✅ PASSED
Rule: document
____foo__ bar__\n
document ____foo__ bar__\n ├─ block ____ └─ hr ____ └─ hr_underscore ____ ├─ block foo__ bar__ └─ paragraph foo__ bar__ └─ paragraph_line foo__ bar__ ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline __ bar__ └─ inline_core __ bar__ └─ emphasis __ bar__ └─ bold __ bar__ └─ bold_underscore __ bar__ └─ block \n └─ unknown_block \n
Example 817
✅ PASSED
Rule: document
**foo **bar****\n
document **foo **bar****\n ├─ block **foo **bar └─ paragraph **foo **bar └─ paragraph_line **foo **bar ├─ inline **foo ** └─ inline_core **foo ** └─ emphasis **foo ** └─ bold **foo ** └─ bold_asterisk **foo ** └─ inline bar └─ inline_core bar └─ text bar └─ word bar ├─ block **** └─ hr **** └─ hr_star **** └─ block \n └─ unknown_block \n
Example 818
✅ PASSED
Rule: document
**foo *bar* baz**\n
document **foo *bar* baz**\n ├─ block **foo *bar* baz** └─ paragraph **foo *bar* baz** └─ paragraph_line **foo *bar* baz** └─ inline **foo *bar* baz** └─ inline_core **foo *bar* baz** └─ emphasis **foo *bar* baz** └─ bold **foo *bar* baz** └─ bold_asterisk **foo *bar* baz** └─ block \n └─ unknown_block \n
Example 819
✅ PASSED
Rule: document
**foo*bar*baz**\n
document **foo*bar*baz**\n ├─ block **foo*bar*baz** └─ paragraph **foo*bar*baz** └─ paragraph_line **foo*bar*baz** └─ inline **foo*bar*baz** └─ inline_core **foo*bar*baz** └─ emphasis **foo*bar*baz** └─ bold **foo*bar*baz** └─ bold_asterisk **foo*bar*baz** └─ block \n └─ unknown_block \n
Example 820
✅ PASSED
Rule: document
***foo* bar**\n
document ***foo* bar**\n ├─ block *** └─ hr *** └─ hr_star *** └─ block foo* bar**\n └─ paragraph foo* bar**\n └─ paragraph_line foo* bar**\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ inline * bar* └─ inline_core * bar* └─ emphasis * bar* └─ italic * bar* └─ italic_asterisk * bar* └─ inline *\n └─ inline_core *\n └─ emphasis *\n └─ italic *\n └─ italic_asterisk *\n
Example 821
✅ PASSED
Rule: document
**foo *bar***\n
document **foo *bar***\n └─ block **foo *bar***\n └─ paragraph **foo *bar***\n └─ paragraph_line **foo *bar***\n ├─ inline **foo *bar** └─ inline_core **foo *bar** └─ emphasis **foo *bar** └─ bold **foo *bar** └─ bold_asterisk **foo *bar** └─ inline *\n └─ inline_core *\n └─ emphasis *\n └─ italic *\n └─ italic_asterisk *\n
Example 822
✅ PASSED
Rule: document
**foo *bar **baz**\nbim* bop**\n
document **foo *bar **baz**\nbim* bop**\n ├─ block **foo *bar **baz**\nbim* bop** └─ paragraph **foo *bar **baz**\nbim* bop** └─ paragraph_line **foo *bar **baz**\nbim* bop** ├─ inline **foo *bar ** └─ inline_core **foo *bar ** └─ emphasis **foo *bar ** └─ bold **foo *bar ** └─ bold_asterisk **foo *bar ** ├─ inline baz └─ inline_core baz └─ text baz └─ word baz └─ inline **\nbim* bop** └─ inline_core **\nbim* bop** └─ emphasis **\nbim* bop** └─ bold **\nbim* bop** └─ bold_asterisk **\nbim* bop** └─ block \n └─ unknown_block \n
Example 823
✅ PASSED
Rule: document
**foo [*bar*](/url)**\n
document **foo [*bar*](/url)**\n ├─ block **foo [*bar*](/url)** └─ paragraph **foo [*bar*](/url)** └─ paragraph_line **foo [*bar*](/url)** └─ inline **foo [*bar*](/url)** └─ inline_core **foo [*bar*](/url)** └─ emphasis **foo [*bar*](/url)** └─ bold **foo [*bar*](/url)** └─ bold_asterisk **foo [*bar*](/url)** └─ block \n └─ unknown_block \n
Example 824
✅ PASSED
Rule: document
__ is not an empty emphasis\n
document __ is not an empty emphasis\n └─ block __ is not an empty emphasis\n └─ paragraph __ is not an empty emphasis\n └─ paragraph_line __ is not an empty emphasis\n └─ inline __ is not an empty emphasis\n └─ inline_core __ is not an empty emphasis\n └─ emphasis __ is not an empty emphasis\n └─ bold __ is not an empty emphasis\n └─ bold_underscore __ is not an empty emphasis\n
Example 825
✅ PASSED
Rule: document
____ is not an empty strong emphasis\n
document ____ is not an empty strong emphasis\n ├─ block ____ └─ hr ____ └─ hr_underscore ____ ├─ block is not an empty strong emphasis └─ paragraph is not an empty strong emphasis └─ paragraph_line is not an empty strong emphasis └─ inline is not an empty strong emphasis └─ inline_core is not an empty strong emphasis └─ text is not an empty strong emphasis ├─ word is ├─ word not ├─ word an ├─ word empty ├─ word strong └─ word emphasis └─ block \n └─ unknown_block \n
Example 826
✅ PASSED
Rule: document
foo ***\n
document foo ***\n └─ block foo ***\n └─ paragraph foo ***\n └─ paragraph_line foo ***\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline ***\n └─ inline_core ***\n └─ emphasis ***\n └─ bold ***\n └─ bold_asterisk ***\n
Example 827
✅ PASSED
Rule: document
foo *\\**\n
document foo *\\**\n └─ block foo *\\**\n └─ paragraph foo *\\**\n └─ paragraph_line foo *\\**\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ inline *\\* └─ inline_core *\\* └─ emphasis *\\* └─ italic *\\* └─ italic_asterisk *\\* └─ inline *\n └─ inline_core *\n └─ emphasis *\n └─ italic *\n └─ italic_asterisk *\n
Example 828
✅ PASSED
Rule: document
foo *_*\n
document foo *_*\n ├─ block foo *_* └─ paragraph foo *_* └─ paragraph_line foo *_* ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline *_* └─ inline_core *_* └─ emphasis *_* └─ italic *_* └─ italic_asterisk *_* └─ block \n └─ unknown_block \n
Example 829
✅ PASSED
Rule: document
foo *****\n
document foo *****\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ block ***** └─ hr ***** └─ hr_star ***** └─ block \n └─ unknown_block \n
Example 830
✅ PASSED
Rule: document
foo **\\***\n
document foo **\\***\n └─ block foo **\\***\n └─ paragraph foo **\\***\n └─ paragraph_line foo **\\***\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ inline **\\** └─ inline_core **\\** └─ emphasis **\\** └─ bold **\\** └─ bold_asterisk **\\** └─ inline *\n └─ inline_core *\n └─ emphasis *\n └─ italic *\n └─ italic_asterisk *\n
Example 831
✅ PASSED
Rule: document
foo **_**\n
document foo **_**\n ├─ block foo **_** └─ paragraph foo **_** └─ paragraph_line foo **_** ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline **_** └─ inline_core **_** └─ emphasis **_** └─ bold **_** └─ bold_asterisk **_** └─ block \n └─ unknown_block \n
Example 832
✅ PASSED
Rule: document
**foo*\n
document **foo*\n └─ block **foo*\n └─ paragraph **foo*\n └─ paragraph_line **foo*\n └─ inline **foo*\n └─ inline_core **foo*\n └─ emphasis **foo*\n └─ bold **foo*\n └─ bold_asterisk **foo*\n
Example 833
✅ PASSED
Rule: document
*foo**\n
document *foo**\n └─ block *foo**\n └─ paragraph *foo**\n └─ paragraph_line *foo**\n ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* └─ inline *\n └─ inline_core *\n └─ emphasis *\n └─ italic *\n └─ italic_asterisk *\n
Example 834
✅ PASSED
Rule: document
***foo**\n
document ***foo**\n ├─ block *** └─ hr *** └─ hr_star *** └─ block foo**\n └─ paragraph foo**\n └─ paragraph_line foo**\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline **\n └─ inline_core **\n └─ emphasis **\n └─ bold **\n └─ bold_asterisk **\n
Example 835
✅ PASSED
Rule: document
****foo*\n
document ****foo*\n ├─ block **** └─ hr **** └─ hr_star **** └─ block foo*\n └─ paragraph foo*\n └─ paragraph_line foo*\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline *\n └─ inline_core *\n └─ emphasis *\n └─ italic *\n └─ italic_asterisk *\n
Example 836
✅ PASSED
Rule: document
**foo***\n
document **foo***\n └─ block **foo***\n └─ paragraph **foo***\n └─ paragraph_line **foo***\n ├─ inline **foo** └─ inline_core **foo** └─ emphasis **foo** └─ bold **foo** └─ bold_asterisk **foo** └─ inline *\n └─ inline_core *\n └─ emphasis *\n └─ italic *\n └─ italic_asterisk *\n
Example 837
✅ PASSED
Rule: document
*foo****\n
document *foo****\n └─ block *foo****\n └─ paragraph *foo****\n └─ paragraph_line *foo****\n ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* └─ inline ***\n └─ inline_core ***\n └─ emphasis ***\n └─ bold ***\n └─ bold_asterisk ***\n
Example 838
✅ PASSED
Rule: document
foo ___\n
document foo ___\n └─ block foo ___\n └─ paragraph foo ___\n └─ paragraph_line foo ___\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline ___\n └─ inline_core ___\n └─ emphasis ___\n └─ bold ___\n └─ bold_underscore ___\n
Example 839
✅ PASSED
Rule: document
foo _\\__\n
document foo _\\__\n └─ block foo _\\__\n └─ paragraph foo _\\__\n └─ paragraph_line foo _\\__\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ inline _\\_ └─ inline_core _\\_ └─ emphasis _\\_ └─ italic _\\_ └─ italic_underscore _\\_ └─ inline _\n └─ inline_core _\n └─ emphasis _\n └─ italic _\n └─ italic_underscore _\n
Example 840
✅ PASSED
Rule: document
foo _*_\n
document foo _*_\n ├─ block foo _*_ └─ paragraph foo _*_ └─ paragraph_line foo _*_ ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline _*_ └─ inline_core _*_ └─ emphasis _*_ └─ italic _*_ └─ italic_underscore _*_ └─ block \n └─ unknown_block \n
Example 841
✅ PASSED
Rule: document
foo _____\n
document foo _____\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ block _____ └─ hr _____ └─ hr_underscore _____ └─ block \n └─ unknown_block \n
Example 842
✅ PASSED
Rule: document
foo __\\___\n
document foo __\\___\n └─ block foo __\\___\n └─ paragraph foo __\\___\n └─ paragraph_line foo __\\___\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ inline __\\__ └─ inline_core __\\__ └─ emphasis __\\__ └─ bold __\\__ └─ bold_underscore __\\__ └─ inline _\n └─ inline_core _\n └─ emphasis _\n └─ italic _\n └─ italic_underscore _\n
Example 843
✅ PASSED
Rule: document
foo __*__\n
document foo __*__\n ├─ block foo __*__ └─ paragraph foo __*__ └─ paragraph_line foo __*__ ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline __*__ └─ inline_core __*__ └─ emphasis __*__ └─ bold __*__ └─ bold_underscore __*__ └─ block \n └─ unknown_block \n
Example 844
✅ PASSED
Rule: document
__foo_\n
document __foo_\n └─ block __foo_\n └─ paragraph __foo_\n └─ paragraph_line __foo_\n └─ inline __foo_\n └─ inline_core __foo_\n └─ emphasis __foo_\n └─ bold __foo_\n └─ bold_underscore __foo_\n
Example 845
✅ PASSED
Rule: document
_foo__\n
document _foo__\n └─ block _foo__\n └─ paragraph _foo__\n └─ paragraph_line _foo__\n ├─ inline _foo_ └─ inline_core _foo_ └─ emphasis _foo_ └─ italic _foo_ └─ italic_underscore _foo_ └─ inline _\n └─ inline_core _\n └─ emphasis _\n └─ italic _\n └─ italic_underscore _\n
Example 846
✅ PASSED
Rule: document
___foo__\n
document ___foo__\n ├─ block ___ └─ hr ___ └─ hr_underscore ___ └─ block foo__\n └─ paragraph foo__\n └─ paragraph_line foo__\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline __\n └─ inline_core __\n └─ emphasis __\n └─ bold __\n └─ bold_underscore __\n
Example 847
✅ PASSED
Rule: document
____foo_\n
document ____foo_\n ├─ block ____ └─ hr ____ └─ hr_underscore ____ └─ block foo_\n └─ paragraph foo_\n └─ paragraph_line foo_\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline _\n └─ inline_core _\n └─ emphasis _\n └─ italic _\n └─ italic_underscore _\n
Example 848
✅ PASSED
Rule: document
__foo___\n
document __foo___\n └─ block __foo___\n └─ paragraph __foo___\n └─ paragraph_line __foo___\n ├─ inline __foo__ └─ inline_core __foo__ └─ emphasis __foo__ └─ bold __foo__ └─ bold_underscore __foo__ └─ inline _\n └─ inline_core _\n └─ emphasis _\n └─ italic _\n └─ italic_underscore _\n
Example 849
✅ PASSED
Rule: document
_foo____\n
document _foo____\n └─ block _foo____\n └─ paragraph _foo____\n └─ paragraph_line _foo____\n ├─ inline _foo_ └─ inline_core _foo_ └─ emphasis _foo_ └─ italic _foo_ └─ italic_underscore _foo_ └─ inline ___\n └─ inline_core ___\n └─ emphasis ___\n └─ bold ___\n └─ bold_underscore ___\n
Example 850
✅ PASSED
Rule: document
**foo**\n
document **foo**\n ├─ block **foo** └─ paragraph **foo** └─ paragraph_line **foo** └─ inline **foo** └─ inline_core **foo** └─ emphasis **foo** └─ bold **foo** └─ bold_asterisk **foo** └─ block \n └─ unknown_block \n
Example 851
✅ PASSED
Rule: document
*_foo_*\n
document *_foo_*\n ├─ block *_foo_* └─ paragraph *_foo_* └─ paragraph_line *_foo_* └─ inline *_foo_* └─ inline_core *_foo_* └─ emphasis *_foo_* └─ italic *_foo_* └─ italic_asterisk *_foo_* └─ block \n └─ unknown_block \n
Example 852
✅ PASSED
Rule: document
__foo__\n
document __foo__\n ├─ block __foo__ └─ paragraph __foo__ └─ paragraph_line __foo__ └─ inline __foo__ └─ inline_core __foo__ └─ emphasis __foo__ └─ bold __foo__ └─ bold_underscore __foo__ └─ block \n └─ unknown_block \n
Example 853
✅ PASSED
Rule: document
_*foo*_\n
document _*foo*_\n ├─ block _*foo*_ └─ paragraph _*foo*_ └─ paragraph_line _*foo*_ └─ inline _*foo*_ └─ inline_core _*foo*_ └─ emphasis _*foo*_ └─ italic _*foo*_ └─ italic_underscore _*foo*_ └─ block \n └─ unknown_block \n
Example 854
✅ PASSED
Rule: document
****foo****\n
document ****foo****\n ├─ block **** └─ hr **** └─ hr_star **** ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ block **** └─ hr **** └─ hr_star **** └─ block \n └─ unknown_block \n
Example 855
✅ PASSED
Rule: document
____foo____\n
document ____foo____\n ├─ block ____ └─ hr ____ └─ hr_underscore ____ ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ block ____ └─ hr ____ └─ hr_underscore ____ └─ block \n └─ unknown_block \n
Example 856
✅ PASSED
Rule: document
******foo******\n
document ******foo******\n ├─ block ****** └─ hr ****** └─ hr_star ****** ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ block ****** └─ hr ****** └─ hr_star ****** └─ block \n └─ unknown_block \n
Example 857
✅ PASSED
Rule: document
***foo***\n
document ***foo***\n ├─ block *** └─ hr *** └─ hr_star *** └─ block foo***\n └─ paragraph foo***\n └─ paragraph_line foo***\n ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline ***\n └─ inline_core ***\n └─ emphasis ***\n └─ bold ***\n └─ bold_asterisk ***\n
Example 858
✅ PASSED
Rule: document
_____foo_____\n
document _____foo_____\n ├─ block _____ └─ hr _____ └─ hr_underscore _____ ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ block _____ └─ hr _____ └─ hr_underscore _____ └─ block \n └─ unknown_block \n
Example 859
✅ PASSED
Rule: document
*foo _bar* baz_\n
document *foo _bar* baz_\n └─ block *foo _bar* baz_\n └─ paragraph *foo _bar* baz_\n └─ paragraph_line *foo _bar* baz_\n ├─ inline *foo _bar* └─ inline_core *foo _bar* └─ emphasis *foo _bar* └─ italic *foo _bar* └─ italic_asterisk *foo _bar* ├─ inline baz └─ inline_core baz └─ text baz └─ word baz └─ inline _\n └─ inline_core _\n └─ emphasis _\n └─ italic _\n └─ italic_underscore _\n
Example 860
✅ PASSED
Rule: document
*foo __bar *baz bim__ bam*\n
document *foo __bar *baz bim__ bam*\n └─ block *foo __bar *baz bim__ bam*\n └─ paragraph *foo __bar *baz bim__ bam*\n └─ paragraph_line *foo __bar *baz bim__ bam*\n ├─ inline *foo __bar * └─ inline_core *foo __bar * └─ emphasis *foo __bar * └─ italic *foo __bar * └─ italic_asterisk *foo __bar * ├─ inline baz bim └─ inline_core baz bim └─ text baz bim ├─ word baz └─ word bim └─ inline __ bam*\n └─ inline_core __ bam*\n └─ emphasis __ bam*\n └─ bold __ bam*\n └─ bold_underscore __ bam*\n
Example 861
✅ PASSED
Rule: document
**foo **bar baz**\n
document **foo **bar baz**\n └─ block **foo **bar baz**\n └─ paragraph **foo **bar baz**\n └─ paragraph_line **foo **bar baz**\n ├─ inline **foo ** └─ inline_core **foo ** └─ emphasis **foo ** └─ bold **foo ** └─ bold_asterisk **foo ** ├─ inline bar baz └─ inline_core bar baz └─ text bar baz ├─ word bar └─ word baz └─ inline **\n └─ inline_core **\n └─ emphasis **\n └─ bold **\n └─ bold_asterisk **\n
Example 862
✅ PASSED
Rule: document
*foo *bar baz*\n
document *foo *bar baz*\n └─ block *foo *bar baz*\n └─ paragraph *foo *bar baz*\n └─ paragraph_line *foo *bar baz*\n ├─ inline *foo * └─ inline_core *foo * └─ emphasis *foo * └─ italic *foo * └─ italic_asterisk *foo * ├─ inline bar baz └─ inline_core bar baz └─ text bar baz ├─ word bar └─ word baz └─ inline *\n └─ inline_core *\n └─ emphasis *\n └─ italic *\n └─ italic_asterisk *\n
Example 863
✅ PASSED
Rule: document
*[bar*](/url)\n
document *[bar*](/url)\n ├─ block *[bar*](/url) └─ paragraph *[bar*](/url) └─ paragraph_line *[bar*](/url) ├─ inline *[bar* └─ inline_core *[bar* └─ emphasis *[bar* └─ italic *[bar* └─ italic_asterisk *[bar* └─ inline ](/url) └─ inline_core ](/url) └─ text ](/url) ├─ safe_punct ( ├─ safe_punct / ├─ word url └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 864
✅ PASSED
Rule: document
_foo [bar_](/url)\n
document _foo [bar_](/url)\n ├─ block _foo [bar_](/url) └─ paragraph _foo [bar_](/url) └─ paragraph_line _foo [bar_](/url) ├─ inline _foo [bar_ └─ inline_core _foo [bar_ └─ emphasis _foo [bar_ └─ italic _foo [bar_ └─ italic_underscore _foo [bar_ └─ inline ](/url) └─ inline_core ](/url) └─ text ](/url) ├─ safe_punct ( ├─ safe_punct / ├─ word url └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 865
✅ PASSED
Rule: document
*<img src=\"foo\" title=\"*\"/>\n
document *<img src=\"foo\" title=\"*\"/>\n ├─ block *<img src=\"foo\" title=\"* └─ paragraph *<img src=\"foo\" title=\"* └─ paragraph_line *<img src=\"foo\" title=\"* └─ inline *<img src=\"foo\" title=\"* └─ inline_core *<img src=\"foo\" title=\"* └─ emphasis *<img src=\"foo\" title=\"* └─ italic *<img src=\"foo\" title=\"* └─ italic_asterisk *<img src=\"foo\" title=\"* └─ block \"/>\n └─ unknown_block \"/>\n
Example 866
✅ PASSED
Rule: document
**<a href=\"**\">\n
document **<a href=\"**\">\n ├─ block **<a href=\"** └─ paragraph **<a href=\"** └─ paragraph_line **<a href=\"** └─ inline **<a href=\"** └─ inline_core **<a href=\"** └─ emphasis **<a href=\"** └─ bold **<a href=\"** └─ bold_asterisk **<a href=\"** └─ block \">\n └─ unknown_block \">\n
Example 867
✅ PASSED
Rule: document
__<a href=\"__\">\n
document __<a href=\"__\">\n ├─ block __<a href=\"__ └─ paragraph __<a href=\"__ └─ paragraph_line __<a href=\"__ └─ inline __<a href=\"__ └─ inline_core __<a href=\"__ └─ emphasis __<a href=\"__ └─ bold __<a href=\"__ └─ bold_underscore __<a href=\"__ └─ block \">\n └─ unknown_block \">\n
Example 868
✅ PASSED
Rule: document
*a `*`*\n
document *a `*`*\n └─ block *a `*`*\n └─ paragraph *a `*`*\n └─ paragraph_line *a `*`*\n ├─ inline *a `* └─ inline_core *a `* └─ emphasis *a `* └─ italic *a `* └─ italic_asterisk *a `* ├─ inline ` └─ inline_core ` └─ text ` └─ inline *\n └─ inline_core *\n └─ emphasis *\n └─ italic *\n └─ italic_asterisk *\n
Example 869
✅ PASSED
Rule: document
_a `_`_\n
document _a `_`_\n └─ block _a `_`_\n └─ paragraph _a `_`_\n └─ paragraph_line _a `_`_\n ├─ inline _a `_ └─ inline_core _a `_ └─ emphasis _a `_ └─ italic _a `_ └─ italic_underscore _a `_ ├─ inline ` └─ inline_core ` └─ text ` └─ inline _\n └─ inline_core _\n └─ emphasis _\n └─ italic _\n └─ italic_underscore _\n
Example 870
✅ PASSED
Rule: document
**a<http://foo.bar/?q=**>\n
document **a<http://foo.bar/?q=**>\n ├─ block **a<http://foo.bar/?q=**> └─ paragraph **a<http://foo.bar/?q=**> └─ paragraph_line **a<http://foo.bar/?q=**> ├─ inline **a<http://foo.bar/?q=** └─ inline_core **a<http://foo.bar/?q=** └─ emphasis **a<http://foo.bar/?q=** └─ bold **a<http://foo.bar/?q=** └─ bold_asterisk **a<http://foo.bar/?q=** └─ inline > └─ inline_core > └─ text > └─ block \n └─ unknown_block \n
Example 871
✅ PASSED
Rule: document
__a<http://foo.bar/?q=__>\n
document __a<http://foo.bar/?q=__>\n ├─ block __a<http://foo.bar/?q=__> └─ paragraph __a<http://foo.bar/?q=__> └─ paragraph_line __a<http://foo.bar/?q=__> ├─ inline __a<http://foo.bar/?q=__ └─ inline_core __a<http://foo.bar/?q=__ └─ emphasis __a<http://foo.bar/?q=__ └─ bold __a<http://foo.bar/?q=__ └─ bold_underscore __a<http://foo.bar/?q=__ └─ inline > └─ inline_core > └─ text > └─ block \n └─ unknown_block \n
Comprehensive Marco Grammar Tests - Commonmark Autolinks 19/19 passed
Example 985
✅ PASSED
Rule: document
<http://foo.bar.baz>\n
document <http://foo.bar.baz>\n ├─ block <http://foo.bar.baz> └─ block_html <http://foo.bar.baz> └─ block \n └─ unknown_block \n
Example 986
✅ PASSED
Rule: document
<http://foo.bar.baz/test?q=hello&id=22&boolean>\n
document <http://foo.bar.baz/test?q=hello&id=22&boolean>\n ├─ block <http://foo.bar.baz/test?q=hello&id=22&boolean> └─ block_html <http://foo.bar.baz/test?q=hello&id=22&boolean> └─ block \n └─ unknown_block \n
Example 987
✅ PASSED
Rule: document
<irc://foo.bar:2233/baz>\n
document <irc://foo.bar:2233/baz>\n ├─ block <irc://foo.bar:2233/baz> └─ block_html <irc://foo.bar:2233/baz> └─ block \n └─ unknown_block \n
Example 988
✅ PASSED
Rule: document
<MAILTO:FOO@BAR.BAZ>\n
document <MAILTO:FOO@BAR.BAZ>\n ├─ block <MAILTO:FOO@BAR.BAZ> └─ block_html <MAILTO:FOO@BAR.BAZ> └─ block \n └─ unknown_block \n
Example 989
✅ PASSED
Rule: document
<a+b+c:d>\n
document <a+b+c:d>\n ├─ block <a+b+c:d> └─ block_html <a+b+c:d> └─ block \n └─ unknown_block \n
Example 990
✅ PASSED
Rule: document
<made-up-scheme://foo,bar>\n
document <made-up-scheme://foo,bar>\n ├─ block <made-up-scheme://foo,bar> └─ block_html <made-up-scheme://foo,bar> └─ block \n └─ unknown_block \n
Example 991
✅ PASSED
Rule: document
<http://../>\n
document <http://../>\n ├─ block <http://../> └─ block_html <http://../> └─ block \n └─ unknown_block \n
Example 992
✅ PASSED
Rule: document
<localhost:5001/foo>\n
document <localhost:5001/foo>\n ├─ block <localhost:5001/foo> └─ block_html <localhost:5001/foo> └─ block \n └─ unknown_block \n
Example 993
✅ PASSED
Rule: document
<http://foo.bar/baz bim>\n
document <http://foo.bar/baz bim>\n ├─ block <http://foo.bar/baz bim> └─ block_html <http://foo.bar/baz bim> └─ block \n └─ unknown_block \n
Example 994
✅ PASSED
Rule: document
<http://example.com/\\[\\>\n
document <http://example.com/\\[\\>\n ├─ block <http://example.com/\\[\\> └─ block_html <http://example.com/\\[\\> └─ block \n └─ unknown_block \n
Example 995
✅ PASSED
Rule: document
<foo@bar.example.com>\n
document <foo@bar.example.com>\n ├─ block <foo@bar.example.com> └─ block_html <foo@bar.example.com> └─ block \n └─ unknown_block \n
Example 996
✅ PASSED
Rule: document
<foo+special@Bar.baz-bar0.com>\n
document <foo+special@Bar.baz-bar0.com>\n ├─ block <foo+special@Bar.baz-bar0.com> └─ block_html <foo+special@Bar.baz-bar0.com> └─ block \n └─ unknown_block \n
Example 997
✅ PASSED
Rule: document
<foo\\+@bar.example.com>\n
document <foo\\+@bar.example.com>\n ├─ block <foo\\+@bar.example.com> └─ block_html <foo\\+@bar.example.com> └─ block \n └─ unknown_block \n
Example 998
✅ PASSED
Rule: document
<>\n
document <>\n ├─ block <> └─ block_html <> └─ block \n └─ unknown_block \n
Example 999
✅ PASSED
Rule: document
< http://foo.bar >\n
document < http://foo.bar >\n ├─ block < http://foo.bar > └─ block_html < http://foo.bar > └─ block \n └─ unknown_block \n
Example 1000
✅ PASSED
Rule: document
<m:abc>\n
document <m:abc>\n ├─ block <m:abc> └─ block_html <m:abc> └─ block \n └─ unknown_block \n
Example 1001
✅ PASSED
Rule: document
<foo.bar.baz>\n
document <foo.bar.baz>\n ├─ block <foo.bar.baz> └─ block_html <foo.bar.baz> └─ block \n └─ unknown_block \n
Example 1002
✅ PASSED
Rule: document
http://example.com\n
document http://example.com\n ├─ block http://example.com └─ paragraph http://example.com └─ paragraph_line http://example.com └─ inline http://example.com └─ inline_core http://example.com └─ text http://example.com ├─ word http ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . └─ word com └─ block \n └─ unknown_block \n
Example 1003
✅ PASSED
Rule: document
foo@bar.example.com\n
document foo@bar.example.com\n ├─ block foo@bar.example.com └─ paragraph foo@bar.example.com └─ paragraph_line foo@bar.example.com └─ inline foo@bar.example.com └─ inline_core foo@bar.example.com └─ text foo@bar.example.com ├─ word foo ├─ word bar ├─ safe_punct . ├─ word example ├─ safe_punct . └─ word com └─ block \n └─ unknown_block \n
Comprehensive Marco Grammar Tests - Commonmark List Items 48/48 passed
Example 644
✅ PASSED
Rule: document
A paragraph\nwith two lines.\n\n indented code\n\n> A block quote.\n
document A paragraph\nwith two lines.\n\n indented code\n\n> A block quote.\n ├─ block A paragraph └─ paragraph A paragraph └─ paragraph_line A paragraph └─ inline A paragraph └─ inline_core A paragraph └─ text A paragraph ├─ word A └─ word paragraph └─ block \nwith two lines.\n\n indented code\n\n> A block quote.\n └─ unknown_block \nwith two lines.\n\n indented code\n\n> A block quote.\n
Example 645
✅ PASSED
Rule: document
1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n
document 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ block 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ list 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ list_item 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ regular_list_item 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n ├─ list_marker 1. └─ list_item_content A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n
Example 646
✅ PASSED
Rule: document
- one\n\n two\n
document - one\n\n two\n └─ block - one\n\n two\n └─ list - one\n\n two\n └─ list_item - one\n\n two\n └─ regular_list_item - one\n\n two\n ├─ list_marker - └─ list_item_content one\n\n two\n
Example 647
✅ PASSED
Rule: document
- one\n\n two\n
document - one\n\n two\n └─ block - one\n\n two\n └─ list - one\n\n two\n └─ list_item - one\n\n two\n └─ regular_list_item - one\n\n two\n ├─ list_marker - └─ list_item_content one\n\n two\n
Example 648
✅ PASSED
Rule: document
- one\n\n two\n
document - one\n\n two\n └─ block - one\n\n two\n └─ list - one\n\n two\n └─ list_item - one\n\n two\n └─ regular_list_item - one\n\n two\n ├─ list_marker - └─ list_item_content one\n\n two\n
Example 649
✅ PASSED
Rule: document
- one\n\n two\n
document - one\n\n two\n └─ block - one\n\n two\n └─ list - one\n\n two\n └─ list_item - one\n\n two\n └─ regular_list_item - one\n\n two\n ├─ list_marker - └─ list_item_content one\n\n two\n
Example 650
✅ PASSED
Rule: document
> > 1. one\n>>\n>> two\n
document > > 1. one\n>>\n>> two\n ├─ block > > 1. one └─ blockquote > > 1. one └─ blockquote_line > > 1. one └─ inline > 1. one └─ inline_core > 1. one └─ text > 1. one ├─ word 1 ├─ safe_punct . └─ word one └─ block \n>>\n>> two\n └─ unknown_block \n>>\n>> two\n
Example 651
✅ PASSED
Rule: document
>>- one\n>>\n > > two\n
document >>- one\n>>\n > > two\n ├─ block >>- one └─ blockquote >>- one └─ blockquote_line >>- one └─ inline >- one └─ inline_core >- one └─ text >- one └─ word one └─ block \n>>\n > > two\n └─ unknown_block \n>>\n > > two\n
Example 652
✅ PASSED
Rule: document
-one\n\n2.two\n
document -one\n\n2.two\n ├─ block -one └─ paragraph -one └─ paragraph_line -one └─ inline -one └─ inline_core -one └─ text -one └─ word one └─ block \n\n2.two\n └─ unknown_block \n\n2.two\n
Example 653
✅ PASSED
Rule: document
- foo\n\n\n bar\n
document - foo\n\n\n bar\n └─ block - foo\n\n\n bar\n └─ list - foo\n\n\n bar\n └─ list_item - foo\n\n\n bar\n └─ regular_list_item - foo\n\n\n bar\n ├─ list_marker - └─ list_item_content foo\n\n\n bar\n
Example 654
✅ PASSED
Rule: document
1. foo\n\n ```\n bar\n ```\n\n baz\n\n > bam\n
document 1. foo\n\n ```\n bar\n ```\n\n baz\n\n > bam\n └─ block 1. foo\n\n ```\n bar\n ```\n\n baz\n\n > bam\n └─ list 1. foo\n\n ```\n bar\n ```\n\n baz\n\n > bam\n └─ list_item 1. foo\n\n ```\n bar\n ```\n\n baz\n\n > bam\n └─ regular_list_item 1. foo\n\n ```\n bar\n ```\n\n baz\n\n > bam\n ├─ list_marker 1. └─ list_item_content foo\n\n ```\n bar\n ```\n\n baz\n\n > bam\n
Example 655
✅ PASSED
Rule: document
- Foo\n\n bar\n\n\n baz\n
document - Foo\n\n bar\n\n\n baz\n └─ block - Foo\n\n bar\n\n\n baz\n └─ list - Foo\n\n bar\n\n\n baz\n └─ list_item - Foo\n\n bar\n\n\n baz\n └─ regular_list_item - Foo\n\n bar\n\n\n baz\n ├─ list_marker - └─ list_item_content Foo\n\n bar\n\n\n baz\n
Example 656
✅ PASSED
Rule: document
123456789. ok\n
document 123456789. ok\n └─ block 123456789. ok\n └─ list 123456789. ok\n └─ list_item 123456789. ok\n └─ regular_list_item 123456789. ok\n ├─ list_marker 123456789. └─ list_item_content ok\n
Example 657
✅ PASSED
Rule: document
1234567890. not ok\n
document 1234567890. not ok\n └─ block 1234567890. not ok\n └─ list 1234567890. not ok\n └─ list_item 1234567890. not ok\n └─ regular_list_item 1234567890. not ok\n ├─ list_marker 1234567890. └─ list_item_content not ok\n
Example 658
✅ PASSED
Rule: document
0. ok\n
document 0. ok\n └─ block 0. ok\n └─ list 0. ok\n └─ list_item 0. ok\n └─ regular_list_item 0. ok\n ├─ list_marker 0. └─ list_item_content ok\n
Example 659
✅ PASSED
Rule: document
003. ok\n
document 003. ok\n └─ block 003. ok\n └─ list 003. ok\n └─ list_item 003. ok\n └─ regular_list_item 003. ok\n ├─ list_marker 003. └─ list_item_content ok\n
Example 660
✅ PASSED
Rule: document
-1. not ok\n
document -1. not ok\n ├─ block -1. not ok └─ paragraph -1. not ok └─ paragraph_line -1. not ok └─ inline -1. not ok └─ inline_core -1. not ok └─ text -1. not ok ├─ word 1 ├─ safe_punct . ├─ word not └─ word ok └─ block \n └─ unknown_block \n
Example 661
✅ PASSED
Rule: document
- foo\n\n bar\n
document - foo\n\n bar\n └─ block - foo\n\n bar\n └─ list - foo\n\n bar\n └─ list_item - foo\n\n bar\n └─ regular_list_item - foo\n\n bar\n ├─ list_marker - └─ list_item_content foo\n\n bar\n
Example 662
✅ PASSED
Rule: document
10. foo\n\n bar\n
document 10. foo\n\n bar\n └─ block 10. foo\n\n bar\n └─ list 10. foo\n\n bar\n └─ list_item 10. foo\n\n bar\n └─ regular_list_item 10. foo\n\n bar\n ├─ list_marker 10. └─ list_item_content foo\n\n bar\n
Example 663
✅ PASSED
Rule: document
indented code\n\nparagraph\n\n more code\n
document indented code\n\nparagraph\n\n more code\n ├─ block indented code └─ paragraph indented code └─ paragraph_line indented code └─ inline indented code └─ inline_core indented code └─ text indented code ├─ word indented └─ word code └─ block \n\nparagraph\n\n more code\n └─ unknown_block \n\nparagraph\n\n more code\n
Example 664
✅ PASSED
Rule: document
1. indented code\n\n paragraph\n\n more code\n
document 1. indented code\n\n paragraph\n\n more code\n └─ block 1. indented code\n\n paragraph\n\n more code\n └─ list 1. indented code\n\n paragraph\n\n more code\n └─ list_item 1. indented code\n\n paragraph\n\n more code\n └─ regular_list_item 1. indented code\n\n paragraph\n\n more code\n ├─ list_marker 1. └─ list_item_content indented code\n\n paragraph\n\n more code\n
Example 665
✅ PASSED
Rule: document
1. indented code\n\n paragraph\n\n more code\n
document 1. indented code\n\n paragraph\n\n more code\n └─ block 1. indented code\n\n paragraph\n\n more code\n └─ list 1. indented code\n\n paragraph\n\n more code\n └─ list_item 1. indented code\n\n paragraph\n\n more code\n └─ regular_list_item 1. indented code\n\n paragraph\n\n more code\n ├─ list_marker 1. └─ list_item_content indented code\n\n paragraph\n\n more code\n
Example 666
✅ PASSED
Rule: document
foo\n\nbar\n
document foo\n\nbar\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n\nbar\n └─ unknown_block \n\nbar\n
Example 667
✅ PASSED
Rule: document
- foo\n\n bar\n
document - foo\n\n bar\n └─ block - foo\n\n bar\n └─ list - foo\n\n bar\n └─ list_item - foo\n\n bar\n └─ regular_list_item - foo\n\n bar\n ├─ list_marker - └─ list_item_content foo\n\n bar\n
Example 668
✅ PASSED
Rule: document
- foo\n\n bar\n
document - foo\n\n bar\n └─ block - foo\n\n bar\n └─ list - foo\n\n bar\n └─ list_item - foo\n\n bar\n └─ regular_list_item - foo\n\n bar\n ├─ list_marker - └─ list_item_content foo\n\n bar\n
Example 669
✅ PASSED
Rule: document
-\n foo\n-\n ```\n bar\n ```\n-\n baz\n
document -\n foo\n-\n ```\n bar\n ```\n-\n baz\n ├─ block - └─ paragraph - └─ paragraph_line - └─ inline - └─ inline_core - └─ text - └─ block \n foo\n-\n ```\n bar\n ```\n-\n baz\n └─ unknown_block \n foo\n-\n ```\n bar\n ```\n-\n baz\n
Example 670
✅ PASSED
Rule: document
- \n foo\n
document - \n foo\n └─ block - \n foo\n └─ list - \n foo\n └─ list_item - \n foo\n └─ regular_list_item - \n foo\n ├─ list_marker - └─ list_item_content \n foo\n
Example 671
✅ PASSED
Rule: document
-\n\n foo\n
document -\n\n foo\n ├─ block - └─ paragraph - └─ paragraph_line - └─ inline - └─ inline_core - └─ text - └─ block \n\n foo\n └─ unknown_block \n\n foo\n
Example 672
✅ PASSED
Rule: document
- foo\n-\n- bar\n
document - foo\n-\n- bar\n └─ block - foo\n-\n- bar\n └─ list - foo\n-\n- bar\n └─ list_item - foo\n-\n- bar\n └─ regular_list_item - foo\n-\n- bar\n ├─ list_marker - └─ list_item_content foo\n-\n- bar\n
Example 673
✅ PASSED
Rule: document
- foo\n- \n- bar\n
document - foo\n- \n- bar\n └─ block - foo\n- \n- bar\n └─ list - foo\n- \n- bar\n └─ list_item - foo\n- \n- bar\n └─ regular_list_item - foo\n- \n- bar\n ├─ list_marker - └─ list_item_content foo\n- \n- bar\n
Example 674
✅ PASSED
Rule: document
1. foo\n2.\n3. bar\n
document 1. foo\n2.\n3. bar\n └─ block 1. foo\n2.\n3. bar\n └─ list 1. foo\n2.\n3. bar\n └─ list_item 1. foo\n2.\n3. bar\n └─ regular_list_item 1. foo\n2.\n3. bar\n ├─ list_marker 1. └─ list_item_content foo\n2.\n3. bar\n
Example 675
✅ PASSED
Rule: document
*\n
document *\n └─ block *\n └─ paragraph *\n └─ paragraph_line *\n └─ inline *\n └─ inline_core *\n └─ emphasis *\n └─ italic *\n └─ italic_asterisk *\n
Example 676
✅ PASSED
Rule: document
foo\n*\n\nfoo\n1.\n
document foo\n*\n\nfoo\n1.\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n*\n\nfoo\n1.\n └─ unknown_block \n*\n\nfoo\n1.\n
Example 677
✅ PASSED
Rule: document
1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n
document 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ block 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ list 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ list_item 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ regular_list_item 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n ├─ list_marker 1. └─ list_item_content A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n
Example 678
✅ PASSED
Rule: document
1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n
document 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ block 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ list 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ list_item 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ regular_list_item 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n ├─ list_marker 1. └─ list_item_content A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n
Example 679
✅ PASSED
Rule: document
1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n
document 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ block 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ list 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ list_item 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ regular_list_item 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n ├─ list_marker 1. └─ list_item_content A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n
Example 680
✅ PASSED
Rule: document
1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n
document 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ block 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ list 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ list_item 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n └─ regular_list_item 1. A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n ├─ list_marker 1. └─ list_item_content A paragraph\n with two lines.\n\n indented code\n\n > A block quote.\n
Example 681
✅ PASSED
Rule: document
1. A paragraph\nwith two lines.\n\n indented code\n\n > A block quote.\n
document 1. A paragraph\nwith two lines.\n\n indented code\n\n > A block quote.\n └─ block 1. A paragraph\nwith two lines.\n\n indented code\n\n > A block quote.\n └─ list 1. A paragraph\nwith two lines.\n\n indented code\n\n > A block quote.\n └─ list_item 1. A paragraph\nwith two lines.\n\n indented code\n\n > A block quote.\n └─ regular_list_item 1. A paragraph\nwith two lines.\n\n indented code\n\n > A block quote.\n ├─ list_marker 1. └─ list_item_content A paragraph\nwith two lines.\n\n indented code\n\n > A block quote.\n
Example 682
✅ PASSED
Rule: document
1. A paragraph\n with two lines.\n
document 1. A paragraph\n with two lines.\n └─ block 1. A paragraph\n with two lines.\n └─ list 1. A paragraph\n with two lines.\n └─ list_item 1. A paragraph\n with two lines.\n └─ regular_list_item 1. A paragraph\n with two lines.\n ├─ list_marker 1. └─ list_item_content A paragraph\n with two lines.\n
Example 683
✅ PASSED
Rule: document
> 1. > Blockquote\ncontinued here.\n
document > 1. > Blockquote\ncontinued here.\n ├─ block > 1. > Blockquote └─ blockquote > 1. > Blockquote └─ blockquote_line > 1. > Blockquote └─ inline 1. > Blockquote └─ inline_core 1. > Blockquote └─ text 1. > Blockquote ├─ word 1 ├─ safe_punct . └─ word Blockquote └─ block \ncontinued here.\n └─ unknown_block \ncontinued here.\n
Example 684
✅ PASSED
Rule: document
> 1. > Blockquote\n> continued here.\n
document > 1. > Blockquote\n> continued here.\n ├─ block > 1. > Blockquote └─ blockquote > 1. > Blockquote └─ blockquote_line > 1. > Blockquote └─ inline 1. > Blockquote └─ inline_core 1. > Blockquote └─ text 1. > Blockquote ├─ word 1 ├─ safe_punct . └─ word Blockquote └─ block \n> continued here.\n └─ unknown_block \n> continued here.\n
Example 685
✅ PASSED
Rule: document
- foo\n - bar\n - baz\n - boo\n
document - foo\n - bar\n - baz\n - boo\n └─ block - foo\n - bar\n - baz\n - boo\n └─ list - foo\n - bar\n - baz\n - boo\n └─ list_item - foo\n - bar\n - baz\n - boo\n └─ regular_list_item - foo\n - bar\n - baz\n - boo\n ├─ list_marker - └─ list_item_content foo\n - bar\n - baz\n - boo\n
Example 686
✅ PASSED
Rule: document
- foo\n - bar\n - baz\n - boo\n
document - foo\n - bar\n - baz\n - boo\n └─ block - foo\n - bar\n - baz\n - boo\n └─ list - foo\n - bar\n - baz\n - boo\n └─ list_item - foo\n - bar\n - baz\n - boo\n └─ regular_list_item - foo\n - bar\n - baz\n - boo\n ├─ list_marker - └─ list_item_content foo\n - bar\n - baz\n - boo\n
Example 687
✅ PASSED
Rule: document
10) foo\n - bar\n
document 10) foo\n - bar\n ├─ block 10) foo └─ paragraph 10) foo └─ paragraph_line 10) foo └─ inline 10) foo └─ inline_core 10) foo └─ text 10) foo ├─ word 10 ├─ safe_punct ) └─ word foo └─ block \n - bar\n └─ unknown_block \n - bar\n
Example 688
✅ PASSED
Rule: document
10) foo\n - bar\n
document 10) foo\n - bar\n ├─ block 10) foo └─ paragraph 10) foo └─ paragraph_line 10) foo └─ inline 10) foo └─ inline_core 10) foo └─ text 10) foo ├─ word 10 ├─ safe_punct ) └─ word foo └─ block \n - bar\n └─ unknown_block \n - bar\n
Example 689
✅ PASSED
Rule: document
- - foo\n
document - - foo\n └─ block - - foo\n └─ list - - foo\n └─ list_item - - foo\n └─ regular_list_item - - foo\n ├─ list_marker - └─ list_item_content - foo\n
Example 690
✅ PASSED
Rule: document
1. - 2. foo\n
document 1. - 2. foo\n └─ block 1. - 2. foo\n └─ list 1. - 2. foo\n └─ list_item 1. - 2. foo\n └─ regular_list_item 1. - 2. foo\n ├─ list_marker 1. └─ list_item_content - 2. foo\n
Example 691
✅ PASSED
Rule: document
- # Foo\n- Bar\n ---\n baz\n
document - # Foo\n- Bar\n ---\n baz\n └─ block - # Foo\n- Bar\n ---\n baz\n └─ list - # Foo\n- Bar\n ---\n baz\n └─ list_item - # Foo\n- Bar\n ---\n baz\n └─ regular_list_item - # Foo\n- Bar\n ---\n baz\n ├─ list_marker - └─ list_item_content # Foo\n- Bar\n ---\n baz\n
Comprehensive Marco Grammar Tests - ATX headings 14/14 passed
Example 18
✅ PASSED
Rule: document
# Hello
document # Hello └─ block # Hello └─ heading # Hello └─ H1 # Hello └─ heading_content Hello └─ inline Hello └─ inline_core Hello └─ text Hello └─ word Hello
Example 19
✅ PASSED
Rule: document
#NoSpace
document #NoSpace └─ block #NoSpace └─ heading #NoSpace └─ H1 #NoSpace └─ heading_content NoSpace └─ inline NoSpace └─ inline_core NoSpace └─ text NoSpace └─ word NoSpace
Example 20
✅ PASSED
Rule: document
# Multiple Spaces
document # Multiple Spaces └─ block # Multiple Spaces └─ heading # Multiple Spaces └─ H1 # Multiple Spaces └─ heading_content Multiple Spaces └─ inline Multiple Spaces └─ inline_core Multiple Spaces └─ text Multiple Spaces ├─ word Multiple └─ word Spaces
Example 21
✅ PASSED
Rule: document
# **Bold** and *italic* heading
document # **Bold** and *italic* heading └─ block # **Bold** and *italic* heading └─ heading # **Bold** and *italic* heading └─ H1 # **Bold** and *italic* heading └─ heading_content **Bold** and *italic* heading ├─ inline **Bold** └─ inline_core **Bold** └─ emphasis **Bold** └─ bold **Bold** └─ bold_asterisk **Bold** ├─ inline and └─ inline_core and └─ text and └─ word and ├─ inline *italic* └─ inline_core *italic* └─ emphasis *italic* └─ italic *italic* └─ italic_asterisk *italic* └─ inline heading └─ inline_core heading └─ text heading └─ word heading
Example 22
✅ PASSED
Rule: document
# Café & Résumé
document # Café & Résumé └─ block # Café & Résumé └─ heading # Café & Résumé └─ H1 # Café & Résumé └─ heading_content Café & Résumé └─ inline Café & Résumé └─ inline_core Café & Résumé └─ text Café & Résumé ├─ word Café ├─ safe_punct & └─ word Résumé
Example 23
✅ PASSED
Rule: document
# Chapter 1: Introduction
document # Chapter 1: Introduction └─ block # Chapter 1: Introduction └─ heading # Chapter 1: Introduction └─ H1 # Chapter 1: Introduction └─ heading_content Chapter 1: Introduction └─ inline Chapter 1: Introduction └─ inline_core Chapter 1: Introduction └─ text Chapter 1: Introduction ├─ word Chapter ├─ word 1 ├─ safe_punct : └─ word Introduction
Example 24
✅ PASSED
Rule: document
## Section
document ## Section └─ block ## Section └─ heading ## Section └─ H2 ## Section └─ heading_content Section └─ inline Section └─ inline_core Section └─ text Section └─ word Section
Example 25
✅ PASSED
Rule: document
##
document ## └─ block ## └─ heading ## └─ H1 ## └─ heading_content # └─ inline # └─ inline_core # └─ text #
Example 26
✅ PASSED
Rule: document
##
document ## └─ block ## └─ heading ## └─ H1 ## └─ heading_content # └─ inline # └─ inline_core # └─ text #
Example 27
✅ PASSED
Rule: document
## This is a very long heading that should still parse correctly
document ## This is a very long heading that should still parse correctly └─ block ## This is a very long heading that should still parse correctly └─ heading ## This is a very long heading that should still parse correctly └─ H2 ## This is a very long heading that should still parse correctly └─ heading_content This is a very long heading that should still parse correctly └─ inline This is a very long heading that should still parse correctly └─ inline_core This is a very long heading that should still parse correctly └─ text This is a very long heading that should still parse correctly ├─ word This ├─ word is ├─ word a ├─ word very ├─ word long ├─ word heading ├─ word that ├─ word should ├─ word still ├─ word parse └─ word correctly
Example 28
✅ PASSED
Rule: document
### Subsection
document ### Subsection └─ block ### Subsection └─ heading ### Subsection └─ H3 ### Subsection └─ heading_content Subsection └─ inline Subsection └─ inline_core Subsection └─ text Subsection └─ word Subsection
Example 29
✅ PASSED
Rule: document
#### Sub-subsection
document #### Sub-subsection └─ block #### Sub-subsection └─ heading #### Sub-subsection └─ H4 #### Sub-subsection └─ heading_content Sub-subsection └─ inline Sub-subsection └─ inline_core Sub-subsection └─ text Sub-subsection └─ word Sub-subsection
Example 30
✅ PASSED
Rule: document
##### Deep Section
document ##### Deep Section └─ block ##### Deep Section └─ heading ##### Deep Section └─ H5 ##### Deep Section └─ heading_content Deep Section └─ inline Deep Section └─ inline_core Deep Section └─ text Deep Section ├─ word Deep └─ word Section
Example 31
✅ PASSED
Rule: document
###### Deepest Section
document ###### Deepest Section └─ block ###### Deepest Section └─ heading ###### Deepest Section └─ H6 ###### Deepest Section └─ heading_content Deepest Section └─ inline Deepest Section └─ inline_core Deepest Section └─ text Deepest Section ├─ word Deepest └─ word Section
Comprehensive Marco Grammar Tests - Commonmark Html Blocks 44/44 passed
Example 600
✅ PASSED
Rule: document
<table><tr><td>\n<pre>\n**Hello**,\n\n_world_.\n</pre>\n</td></tr></table>\n
document <table><tr><td>\n<pre>\n**Hello**,\n\n_world_.\n</pre>\n</td></tr></table>\n ├─ block <table> └─ block_html <table> ├─ block <tr> └─ block_html <tr> ├─ block <td> └─ block_html <td> └─ block \n<pre>\n**Hello**,\n\n_world_.\n</pre>\n</td></tr></table>\n └─ unknown_block \n<pre>\n**Hello**,\n\n_world_.\n</pre>\n</td></tr></table>\n
Example 601
✅ PASSED
Rule: document
<table>\n <tr>\n <td>\n hi\n </td>\n </tr>\n</table>\n\nokay.\n
document <table>\n <tr>\n <td>\n hi\n </td>\n </tr>\n</table>\n\nokay.\n ├─ block <table> └─ block_html <table> └─ block \n <tr>\n <td>\n hi\n </td>\n </tr>\n</table>\n\nokay.\n └─ unknown_block \n <tr>\n <td>\n hi\n </td>\n </tr>\n</table>\n\nokay.\n
Example 602
✅ PASSED
Rule: document
<div>\n *hello*\n <foo><a>\n
document <div>\n *hello*\n <foo><a>\n ├─ block <div> └─ block_html <div> └─ block \n *hello*\n <foo><a>\n └─ unknown_block \n *hello*\n <foo><a>\n
Example 603
✅ PASSED
Rule: document
</div>\n*foo*\n
document </div>\n*foo*\n ├─ block </div> └─ block_html </div> └─ block \n*foo*\n └─ unknown_block \n*foo*\n
Example 604
✅ PASSED
Rule: document
<DIV CLASS=\"foo\">\n\n*Markdown*\n\n</DIV>\n
document <DIV CLASS=\"foo\">\n\n*Markdown*\n\n</DIV>\n ├─ block <DIV CLASS=\"foo\"> └─ block_html <DIV CLASS=\"foo\"> └─ block \n\n*Markdown*\n\n</DIV>\n └─ unknown_block \n\n*Markdown*\n\n</DIV>\n
Example 605
✅ PASSED
Rule: document
<div id=\"foo\"\n class=\"bar\">\n</div>\n
document <div id=\"foo\"\n class=\"bar\">\n</div>\n ├─ block <div id=\"foo\"\n class=\"bar\"> └─ block_html <div id=\"foo\"\n class=\"bar\"> └─ block \n</div>\n └─ unknown_block \n</div>\n
Example 606
✅ PASSED
Rule: document
<div id=\"foo\" class=\"bar\n baz\">\n</div>\n
document <div id=\"foo\" class=\"bar\n baz\">\n</div>\n ├─ block <div id=\"foo\" class=\"bar\n baz\"> └─ block_html <div id=\"foo\" class=\"bar\n baz\"> └─ block \n</div>\n └─ unknown_block \n</div>\n
Example 607
✅ PASSED
Rule: document
<div>\n*foo*\n\n*bar*\n
document <div>\n*foo*\n\n*bar*\n ├─ block <div> └─ block_html <div> └─ block \n*foo*\n\n*bar*\n └─ unknown_block \n*foo*\n\n*bar*\n
Example 608
✅ PASSED
Rule: document
<div id=\"foo\"\n*hi*\n
document <div id=\"foo\"\n*hi*\n └─ block <div id=\"foo\"\n*hi*\n └─ unknown_block <div id=\"foo\"\n*hi*\n
Example 609
✅ PASSED
Rule: document
<div class\nfoo\n
document <div class\nfoo\n └─ block <div class\nfoo\n └─ unknown_block <div class\nfoo\n
Example 610
✅ PASSED
Rule: document
<div *???-&&&-<---\n*foo*\n
document <div *???-&&&-<---\n*foo*\n └─ block <div *???-&&&-<---\n*foo*\n └─ unknown_block <div *???-&&&-<---\n*foo*\n
Example 611
✅ PASSED
Rule: document
<div><a href=\"bar\">*foo*</a></div>\n
document <div><a href=\"bar\">*foo*</a></div>\n ├─ block <div> └─ block_html <div> ├─ block <a href=\"bar\"> └─ block_html <a href=\"bar\"> ├─ block *foo*</a></div> └─ paragraph *foo*</a></div> └─ paragraph_line *foo*</a></div> ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* ├─ inline </a> └─ inline_core </a> └─ inline_html </a> └─ inline </div> └─ inline_core </div> └─ inline_html </div> └─ block \n └─ unknown_block \n
Example 612
✅ PASSED
Rule: document
<table><tr><td>\nfoo\n</td></tr></table>\n
document <table><tr><td>\nfoo\n</td></tr></table>\n ├─ block <table> └─ block_html <table> ├─ block <tr> └─ block_html <tr> ├─ block <td> └─ block_html <td> └─ block \nfoo\n</td></tr></table>\n └─ unknown_block \nfoo\n</td></tr></table>\n
Example 613
✅ PASSED
Rule: document
<div></div>\n``` c\nint x = 33;\n```\n
document <div></div>\n``` c\nint x = 33;\n```\n ├─ block <div> └─ block_html <div> ├─ block </div> └─ block_html </div> └─ block \n``` c\nint x = 33;\n```\n └─ unknown_block \n``` c\nint x = 33;\n```\n
Example 614
✅ PASSED
Rule: document
<a href=\"foo\">\n*bar*\n</a>\n
document <a href=\"foo\">\n*bar*\n</a>\n ├─ block <a href=\"foo\"> └─ block_html <a href=\"foo\"> └─ block \n*bar*\n</a>\n └─ unknown_block \n*bar*\n</a>\n
Example 615
✅ PASSED
Rule: document
<Warning>\n*bar*\n</Warning>\n
document <Warning>\n*bar*\n</Warning>\n ├─ block <Warning> └─ block_html <Warning> └─ block \n*bar*\n</Warning>\n └─ unknown_block \n*bar*\n</Warning>\n
Example 616
✅ PASSED
Rule: document
<i class=\"foo\">\n*bar*\n</i>\n
document <i class=\"foo\">\n*bar*\n</i>\n ├─ block <i class=\"foo\"> └─ block_html <i class=\"foo\"> └─ block \n*bar*\n</i>\n └─ unknown_block \n*bar*\n</i>\n
Example 617
✅ PASSED
Rule: document
</ins>\n*bar*\n
document </ins>\n*bar*\n ├─ block </ins> └─ block_html </ins> └─ block \n*bar*\n └─ unknown_block \n*bar*\n
Example 618
✅ PASSED
Rule: document
<del>\n*foo*\n</del>\n
document <del>\n*foo*\n</del>\n ├─ block <del> └─ block_html <del> └─ block \n*foo*\n</del>\n └─ unknown_block \n*foo*\n</del>\n
Example 619
✅ PASSED
Rule: document
<del>\n\n*foo*\n\n</del>\n
document <del>\n\n*foo*\n\n</del>\n ├─ block <del> └─ block_html <del> └─ block \n\n*foo*\n\n</del>\n └─ unknown_block \n\n*foo*\n\n</del>\n
Example 620
✅ PASSED
Rule: document
<del>*foo*</del>\n
document <del>*foo*</del>\n ├─ block <del> └─ block_html <del> ├─ block *foo*</del> └─ paragraph *foo*</del> └─ paragraph_line *foo*</del> ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* └─ inline </del> └─ inline_core </del> └─ inline_html </del> └─ block \n └─ unknown_block \n
Example 621
✅ PASSED
Rule: document
<pre language=\"haskell\"><code>\nimport Text.HTML.TagSoup\n\nmain :: IO ()\nmain = print $ parseTags tags\n</code></pre>\nokay\n
document <pre language=\"haskell\"><code>\nimport Text.HTML.TagSoup\n\nmain :: IO ()\nmain = print $ parseTags tags\n</code></pre>\nokay\n ├─ block <pre language=\"haskell\"> └─ block_html <pre language=\"haskell\"> ├─ block <code> └─ block_html <code> └─ block \nimport Text.HTML.TagSoup\n\nmain :: IO ()\nmain = print $ parseTags tags\n</code></pre>\nokay\n └─ unknown_block \nimport Text.HTML.TagSoup\n\nmain :: IO ()\nmain = print $ parseTags tags\n</code></pre>\nokay\n
Example 622
✅ PASSED
Rule: document
<script type=\"text/javascript\">\n// JavaScript example\n\ndocument.getElementById(\"demo\").innerHTML = \"Hello JavaScript!\";\n</script>\nokay\n
document <script type=\"text/javascript\">\n// JavaScript example\n\ndocument.getElementById(\"demo\").innerHTML = \"Hello JavaScript!\";\n</script>\nokay\n ├─ block <script type=\"text/javascript\"> └─ block_html <script type=\"text/javascript\"> └─ block \n// JavaScript example\n\ndocument.getElementById(\"demo\").innerHTML = \"Hello JavaScript!\";\n</script>\nokay\n └─ unknown_block \n// JavaScript example\n\ndocument.getElementById(\"demo\").innerHTML = \"Hello JavaScript!\";\n</script>\nokay\n
Example 623
✅ PASSED
Rule: document
<textarea>\n\n*foo*\n\n_bar_\n\n</textarea>\n
document <textarea>\n\n*foo*\n\n_bar_\n\n</textarea>\n ├─ block <textarea> └─ block_html <textarea> └─ block \n\n*foo*\n\n_bar_\n\n</textarea>\n └─ unknown_block \n\n*foo*\n\n_bar_\n\n</textarea>\n
Example 624
✅ PASSED
Rule: document
<style\n type=\"text/css\">\nh1 {color:red;}\n\np {color:blue;}\n</style>\nokay\n
document <style\n type=\"text/css\">\nh1 {color:red;}\n\np {color:blue;}\n</style>\nokay\n ├─ block <style\n type=\"text/css\"> └─ block_html <style\n type=\"text/css\"> └─ block \nh1 {color:red;}\n\np {color:blue;}\n</style>\nokay\n └─ unknown_block \nh1 {color:red;}\n\np {color:blue;}\n</style>\nokay\n
Example 625
✅ PASSED
Rule: document
<style\n type=\"text/css\">\n\nfoo\n
document <style\n type=\"text/css\">\n\nfoo\n ├─ block <style\n type=\"text/css\"> └─ block_html <style\n type=\"text/css\"> └─ block \n\nfoo\n └─ unknown_block \n\nfoo\n
Example 626
✅ PASSED
Rule: document
> <div>\n> foo\n\nbar\n
document > <div>\n> foo\n\nbar\n ├─ block > <div> └─ blockquote > <div> └─ blockquote_line > <div> └─ inline <div> └─ inline_core <div> └─ inline_link <div> └─ autolink <div> └─ autolink_url <div> └─ link_url div └─ block \n> foo\n\nbar\n └─ unknown_block \n> foo\n\nbar\n
Example 627
✅ PASSED
Rule: document
- <div>\n- foo\n
document - <div>\n- foo\n └─ block - <div>\n- foo\n └─ list - <div>\n- foo\n └─ list_item - <div>\n- foo\n └─ regular_list_item - <div>\n- foo\n ├─ list_marker - └─ list_item_content <div>\n- foo\n
Example 628
✅ PASSED
Rule: document
<style>p{color:red;}</style>\n*foo*\n
document <style>p{color:red;}</style>\n*foo*\n ├─ block <style> └─ block_html <style> ├─ block p{color:red;}</style> └─ paragraph p{color:red;}</style> └─ paragraph_line p{color:red;}</style> └─ inline p{color:red;}</style> └─ inline_core p{color:red;}</style> └─ text p{color:red;}</style> ├─ word p ├─ safe_punct { ├─ word color ├─ safe_punct : ├─ word red ├─ safe_punct ; ├─ safe_punct } ├─ safe_punct / └─ word style └─ block \n*foo*\n └─ unknown_block \n*foo*\n
Example 629
✅ PASSED
Rule: document
<!-- foo -->*bar*\n*baz*\n
document <!-- foo -->*bar*\n*baz*\n ├─ block <!-- foo --> ├─ block *bar* └─ paragraph *bar* └─ paragraph_line *bar* └─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ block \n*baz*\n └─ unknown_block \n*baz*\n
Example 630
✅ PASSED
Rule: document
<script>\nfoo\n</script>1. *bar*\n
document <script>\nfoo\n</script>1. *bar*\n ├─ block <script> └─ block_html <script> └─ block \nfoo\n</script>1. *bar*\n └─ unknown_block \nfoo\n</script>1. *bar*\n
Example 631
✅ PASSED
Rule: document
<!-- Foo\n\nbar\n baz -->\nokay\n
document <!-- Foo\n\nbar\n baz -->\nokay\n ├─ block <!-- Foo\n\nbar\n baz --> └─ block \nokay\n └─ unknown_block \nokay\n
Example 632
✅ PASSED
Rule: document
<?php\n\n echo '>';\n\n?>\nokay\n
document <?php\n\n echo '>';\n\n?>\nokay\n ├─ block <?php\n\n echo '> └─ block_html <?php\n\n echo '> ├─ block '; └─ paragraph '; └─ paragraph_line '; └─ inline '; └─ inline_core '; └─ text '; ├─ safe_punct ' └─ safe_punct ; └─ block \n\n?>\nokay\n └─ unknown_block \n\n?>\nokay\n
Example 633
✅ PASSED
Rule: document
<!DOCTYPE html>\n
document <!DOCTYPE html>\n ├─ block <!DOCTYPE html> └─ block_html <!DOCTYPE html> └─ block \n └─ unknown_block \n
Example 634
✅ PASSED
Rule: document
<![CDATA[\nfunction matchwo(a,b)\n{\n if (a < b && a < 0) then {\n return 1;\n\n } else {\n\n return 0;\n }\n}\n]]>\nokay\n
document <![CDATA[\nfunction matchwo(a,b)\n{\n if (a < b && a < 0) then {\n return 1;\n\n } else {\n\n return 0;\n }\n}\n]]>\nokay\n ├─ block <![CDATA[\nfunction matchwo(a,b)\n{\n if (a < b && a < 0) then {\n return 1;\n\n } else {\n\n return 0;\n }\n}\n]]> └─ block_html <![CDATA[\nfunction matchwo(a,b)\n{\n if (a < b && a < 0) then {\n return 1;\n\n } else {\n\n return 0;\n }\n}\n]]> └─ block \nokay\n └─ unknown_block \nokay\n
Example 635
✅ PASSED
Rule: document
<!-- foo -->\n\n <!-- foo -->\n
document <!-- foo -->\n\n <!-- foo -->\n ├─ block <!-- foo --> └─ block \n\n <!-- foo -->\n └─ unknown_block \n\n <!-- foo -->\n
Example 636
✅ PASSED
Rule: document
<div>\n\n <div>\n
document <div>\n\n <div>\n ├─ block <div> └─ block_html <div> └─ block \n\n <div>\n └─ unknown_block \n\n <div>\n
Example 637
✅ PASSED
Rule: document
Foo\n<div>\nbar\n</div>\n
document Foo\n<div>\nbar\n</div>\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n<div>\nbar\n</div>\n └─ unknown_block \n<div>\nbar\n</div>\n
Example 638
✅ PASSED
Rule: document
<div>\nbar\n</div>\n*foo*\n
document <div>\nbar\n</div>\n*foo*\n ├─ block <div> └─ block_html <div> └─ block \nbar\n</div>\n*foo*\n └─ unknown_block \nbar\n</div>\n*foo*\n
Example 639
✅ PASSED
Rule: document
Foo\n<a href=\"bar\">\nbaz\n
document Foo\n<a href=\"bar\">\nbaz\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n<a href=\"bar\">\nbaz\n └─ unknown_block \n<a href=\"bar\">\nbaz\n
Example 640
✅ PASSED
Rule: document
<div>\n\n*Emphasized* text.\n\n</div>\n
document <div>\n\n*Emphasized* text.\n\n</div>\n ├─ block <div> └─ block_html <div> └─ block \n\n*Emphasized* text.\n\n</div>\n └─ unknown_block \n\n*Emphasized* text.\n\n</div>\n
Example 641
✅ PASSED
Rule: document
<div>\n*Emphasized* text.\n</div>\n
document <div>\n*Emphasized* text.\n</div>\n ├─ block <div> └─ block_html <div> └─ block \n*Emphasized* text.\n</div>\n └─ unknown_block \n*Emphasized* text.\n</div>\n
Example 642
✅ PASSED
Rule: document
<table>\n\n<tr>\n\n<td>\nHi\n</td>\n\n</tr>\n\n</table>\n
document <table>\n\n<tr>\n\n<td>\nHi\n</td>\n\n</tr>\n\n</table>\n ├─ block <table> └─ block_html <table> └─ block \n\n<tr>\n\n<td>\nHi\n</td>\n\n</tr>\n\n</table>\n └─ unknown_block \n\n<tr>\n\n<td>\nHi\n</td>\n\n</tr>\n\n</table>\n
Example 643
✅ PASSED
Rule: document
<table>\n\n <tr>\n\n <td>\n Hi\n </td>\n\n </tr>\n\n</table>\n
document <table>\n\n <tr>\n\n <td>\n Hi\n </td>\n\n </tr>\n\n</table>\n ├─ block <table> └─ block_html <table> └─ block \n\n <tr>\n\n <td>\n Hi\n </td>\n\n </tr>\n\n</table>\n └─ unknown_block \n\n <tr>\n\n <td>\n Hi\n </td>\n\n </tr>\n\n</table>\n
Comprehensive Marco Grammar Tests - Links 8/8 passed
Example 122
✅ PASSED
Rule: document
[link](https://example.com)
document [link](https://example.com) └─ block [link](https://example.com) └─ paragraph [link](https://example.com) └─ paragraph_line [link](https://example.com) └─ inline [link](https://example.com) └─ inline_core [link](https://example.com) └─ inline_link [link](https://example.com) └─ bracket_link_without_title [link](https://example.com)
Example 123
✅ PASSED
Rule: document
[secure link](https://secure.example.com)
document [secure link](https://secure.example.com) └─ block [secure link](https://secure.example.com) └─ paragraph [secure link](https://secure.example.com) └─ paragraph_line [secure link](https://secure.example.com) └─ inline [secure link](https://secure.example.com) └─ inline_core [secure link](https://secure.example.com) └─ inline_link [secure link](https://secure.example.com) └─ bracket_link_without_title [secure link](https://secure.example.com)
Example 124
✅ PASSED
Rule: document
[local file](./path/to/file.md)
document [local file](./path/to/file.md) └─ block [local file](./path/to/file.md) └─ paragraph [local file](./path/to/file.md) └─ paragraph_line [local file](./path/to/file.md) └─ inline [local file](./path/to/file.md) └─ inline_core [local file](./path/to/file.md) └─ inline_link [local file](./path/to/file.md) └─ bracket_link_without_title [local file](./path/to/file.md)
Example 125
✅ PASSED
Rule: document
[](https://example.com)
document [](https://example.com) └─ block [](https://example.com) └─ paragraph [](https://example.com) └─ paragraph_line [](https://example.com) └─ inline [](https://example.com) └─ inline_core [](https://example.com) └─ inline_link [](https://example.com) └─ bracket_link_without_title [](https://example.com)
Example 126
✅ PASSED
Rule: document
[link](https://example.com \"Title\")
document [link](https://example.com \"Title\") ├─ block [link](https://example.com └─ paragraph [link](https://example.com └─ paragraph_line [link](https://example.com └─ inline [link](https://example.com └─ inline_core [link](https://example.com └─ text [link](https://example.com ├─ word link ├─ safe_punct ( ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . └─ word com └─ block \"Title\") └─ unknown_block \"Title\")
Example 127
✅ PASSED
Rule: document
[link [with] brackets](https://example.com)
document [link [with] brackets](https://example.com) └─ block [link [with] brackets](https://example.com) └─ paragraph [link [with] brackets](https://example.com) └─ paragraph_line [link [with] brackets](https://example.com) └─ inline [link [with] brackets](https://example.com) └─ inline_core [link [with] brackets](https://example.com) └─ inline_link [link [with] brackets](https://example.com) └─ bracket_link_without_title [link [with] brackets](https://example.com)
Example 128
✅ PASSED
Rule: document
[**bold link**](https://example.com)
document [**bold link**](https://example.com) └─ block [**bold link**](https://example.com) └─ paragraph [**bold link**](https://example.com) └─ paragraph_line [**bold link**](https://example.com) └─ inline [**bold link**](https://example.com) └─ inline_core [**bold link**](https://example.com) └─ inline_link [**bold link**](https://example.com) └─ bracket_link_without_title [**bold link**](https://example.com)
Example 129
✅ PASSED
Rule: document
[café link](https://example.com)
document [café link](https://example.com) └─ block [café link](https://example.com) └─ paragraph [café link](https://example.com) └─ paragraph_line [café link](https://example.com) └─ inline [café link](https://example.com) └─ inline_core [café link](https://example.com) └─ inline_link [café link](https://example.com) └─ bracket_link_without_title [café link](https://example.com)
Comprehensive Marco Grammar Tests - Commonmark Hard Line Breaks 15/15 passed
Example 1045
✅ PASSED
Rule: document
foo \nbaz\n
document foo \nbaz\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \nbaz\n └─ unknown_block \nbaz\n
Example 1046
✅ PASSED
Rule: document
foo\\\nbaz\n
document foo\\\nbaz\n ├─ block foo\\ └─ paragraph foo\\ └─ paragraph_line foo\\ ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ block \nbaz\n └─ unknown_block \nbaz\n
Example 1047
✅ PASSED
Rule: document
foo \nbaz\n
document foo \nbaz\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \nbaz\n └─ unknown_block \nbaz\n
Example 1048
✅ PASSED
Rule: document
foo \n bar\n
document foo \n bar\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n bar\n └─ unknown_block \n bar\n
Example 1049
✅ PASSED
Rule: document
foo\\\n bar\n
document foo\\\n bar\n ├─ block foo\\ └─ paragraph foo\\ └─ paragraph_line foo\\ ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ block \n bar\n └─ unknown_block \n bar\n
Example 1050
✅ PASSED
Rule: document
*foo \nbar*\n
document *foo \nbar*\n ├─ block *foo \nbar* └─ paragraph *foo \nbar* └─ paragraph_line *foo \nbar* └─ inline *foo \nbar* └─ inline_core *foo \nbar* └─ emphasis *foo \nbar* └─ italic *foo \nbar* └─ italic_asterisk *foo \nbar* └─ block \n └─ unknown_block \n
Example 1051
✅ PASSED
Rule: document
*foo\\\nbar*\n
document *foo\\\nbar*\n ├─ block *foo\\\nbar* └─ paragraph *foo\\\nbar* └─ paragraph_line *foo\\\nbar* └─ inline *foo\\\nbar* └─ inline_core *foo\\\nbar* └─ emphasis *foo\\\nbar* └─ italic *foo\\\nbar* └─ italic_asterisk *foo\\\nbar* └─ block \n └─ unknown_block \n
Example 1052
✅ PASSED
Rule: document
`code \nspan`\n
document `code \nspan`\n ├─ block `code \nspan` └─ paragraph `code \nspan` └─ paragraph_line `code \nspan` └─ inline `code \nspan` └─ inline_core `code \nspan` └─ code_inline `code \nspan` └─ block \n └─ unknown_block \n
Example 1053
✅ PASSED
Rule: document
`code\\\nspan`\n
document `code\\\nspan`\n ├─ block `code\\\nspan` └─ paragraph `code\\\nspan` └─ paragraph_line `code\\\nspan` └─ inline `code\\\nspan` └─ inline_core `code\\\nspan` └─ code_inline `code\\\nspan` └─ block \n └─ unknown_block \n
Example 1054
✅ PASSED
Rule: document
<a href=\"foo \nbar\">\n
document <a href=\"foo \nbar\">\n ├─ block <a href=\"foo \nbar\"> └─ block_html <a href=\"foo \nbar\"> └─ block \n └─ unknown_block \n
Example 1055
✅ PASSED
Rule: document
<a href=\"foo\\\nbar\">\n
document <a href=\"foo\\\nbar\">\n ├─ block <a href=\"foo\\\nbar\"> └─ block_html <a href=\"foo\\\nbar\"> └─ block \n └─ unknown_block \n
Example 1056
✅ PASSED
Rule: document
foo\\\n
document foo\\\n ├─ block foo\\ └─ paragraph foo\\ └─ paragraph_line foo\\ ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ block \n └─ unknown_block \n
Example 1057
✅ PASSED
Rule: document
foo \n
document foo \n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n └─ unknown_block \n
Example 1058
✅ PASSED
Rule: document
### foo\\\n
document ### foo\\\n ├─ block ### foo\\ └─ heading ### foo\\ └─ H3 ### foo\\ └─ heading_content foo\\ ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ block \n └─ unknown_block \n
Example 1059
✅ PASSED
Rule: document
### foo \n
document ### foo \n ├─ block ### foo └─ heading ### foo └─ H3 ### foo └─ heading_content foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n └─ unknown_block \n
Comprehensive Marco Grammar Tests - Memory Stress 8/8 passed
Example 504
✅ PASSED
Rule: document
# Heading 1\n## Subheading 1\n### Sub-sub 1\nContent\n\n# Heading 2\n## Subheading 2\n### Sub-sub 2\nMore content\n\n# Heading 3\n## Subheading 3\n### Sub-sub 3\nEven more content\n\n# Heading 4\n## Subheading 4\n### Sub-sub 4\nFinal content
document # Heading 1\n## Subheading 1\n### Sub-sub 1\nContent\n\n# Heading 2\n## Subheading 2\n### Sub-sub 2\nMore content\n\n# Heading 3\n## Subheading 3\n### Sub-sub 3\nEven more content\n\n# Heading 4\n## Subheading 4\n### Sub-sub 4\nFinal content ├─ block # Heading 1 └─ heading # Heading 1 └─ H1 # Heading 1 └─ heading_content Heading 1 └─ inline Heading 1 └─ inline_core Heading 1 └─ text Heading 1 ├─ word Heading └─ word 1 └─ block \n## Subheading 1\n### Sub-sub 1\nContent\n\n# Heading 2\n## Subheading 2\n### Sub-sub 2\nMore content\n\n# Heading 3\n## Subheading 3\n### Sub-sub 3\nEven more content\n\n# Heading 4\n## Subheading 4\n### Sub-sub 4\nFinal content └─ unknown_block \n## Subheading 1\n### Sub-sub 1\nContent\n\n# Heading 2\n## Subheading 2\n### Sub-sub 2\nMore content\n\n# Heading 3\n## Subheading 3\n### Sub-sub 3\nEven more content\n\n# Heading 4\n## Subheading 4\n### Sub-sub 4\nFinal content
Example 505
✅ PASSED
Rule: document
**word1** **word2** **word3** **word4** **word5** **word6** **word7** **word8** **word9** **word10** **word11** **word12** **word13** **word14** **word15** **word16** **word17** **word18** **word19** **word20**
document **word1** **word2** **word3** **word4** **word5** **word6** **word7** **word8** **word9** **word10** **word11** **word12** **word13** **word14** **word15** **word16** **word17** **word18** **word19** **word20** └─ block **word1** **word2** **word3** **word4** **word5** **word6** **word7** **word8** **word9** **word10** **word11** **word12** **word13** **word14** **word15** **word16** **word17** **word18** **word19** **word20** └─ paragraph **word1** **word2** **word3** **word4** **word5** **word6** **word7** **word8** **word9** **word10** **word11** **word12** **word13** **word14** **word15** **word16** **word17** **word18** **word19** **word20** └─ paragraph_line **word1** **word2** **word3** **word4** **word5** **word6** **word7** **word8** **word9** **word10** **word11** **word12** **word13** **word14** **word15** **word16** **word17** **word18** **word19** **word20** ├─ inline **word1** └─ inline_core **word1** └─ emphasis **word1** └─ bold **word1** └─ bold_asterisk **word1** ├─ inline **word2** └─ inline_core **word2** └─ emphasis **word2** └─ bold **word2** └─ bold_asterisk **word2** ├─ inline **word3** └─ inline_core **word3** └─ emphasis **word3** └─ bold **word3** └─ bold_asterisk **word3** ├─ inline **word4** └─ inline_core **word4** └─ emphasis **word4** └─ bold **word4** └─ bold_asterisk **word4** ├─ inline **word5** └─ inline_core **word5** └─ emphasis **word5** └─ bold **word5** └─ bold_asterisk **word5** ├─ inline **word6** └─ inline_core **word6** └─ emphasis **word6** └─ bold **word6** └─ bold_asterisk **word6** ├─ inline **word7** └─ inline_core **word7** └─ emphasis **word7** └─ bold **word7** └─ bold_asterisk **word7** ├─ inline **word8** └─ inline_core **word8** └─ emphasis **word8** └─ bold **word8** └─ bold_asterisk **word8** ├─ inline **word9** └─ inline_core **word9** └─ emphasis **word9** └─ bold **word9** └─ bold_asterisk **word9** ├─ inline **word10** └─ inline_core **word10** └─ emphasis **word10** └─ bold **word10** └─ bold_asterisk **word10** ├─ inline **word11** └─ inline_core **word11** └─ emphasis **word11** └─ bold **word11** └─ bold_asterisk **word11** ├─ inline **word12** └─ inline_core **word12** └─ emphasis **word12** └─ bold **word12** └─ bold_asterisk **word12** ├─ inline **word13** └─ inline_core **word13** └─ emphasis **word13** └─ bold **word13** └─ bold_asterisk **word13** ├─ inline **word14** └─ inline_core **word14** └─ emphasis **word14** └─ bold **word14** └─ bold_asterisk **word14** ├─ inline **word15** └─ inline_core **word15** └─ emphasis **word15** └─ bold **word15** └─ bold_asterisk **word15** ├─ inline **word16** └─ inline_core **word16** └─ emphasis **word16** └─ bold **word16** └─ bold_asterisk **word16** ├─ inline **word17** └─ inline_core **word17** └─ emphasis **word17** └─ bold **word17** └─ bold_asterisk **word17** ├─ inline **word18** └─ inline_core **word18** └─ emphasis **word18** └─ bold **word18** └─ bold_asterisk **word18** ├─ inline **word19** └─ inline_core **word19** └─ emphasis **word19** └─ bold **word19** └─ bold_asterisk **word19** └─ inline **word20** └─ inline_core **word20** └─ emphasis **word20** └─ bold **word20** └─ bold_asterisk **word20**
Example 506
✅ PASSED
Rule: document
[link1](url1) [link2](url2) [link3](url3) [link4](url4) [link5](url5) [link6](url6) [link7](url7) [link8](url8) [link9](url9) [link10](url10)
document [link1](url1) [link2](url2) [link3](url3) [link4](url4) [link5](url5) [link6](url6) [link7](url7) [link8](url8) [link9](url9) [link10](url10) └─ block [link1](url1) [link2](url2) [link3](url3) [link4](url4) [link5](url5) [link6](url6) [link7](url7) [link8](url8) [link9](url9) [link10](url10) └─ paragraph [link1](url1) [link2](url2) [link3](url3) [link4](url4) [link5](url5) [link6](url6) [link7](url7) [link8](url8) [link9](url9) [link10](url10) └─ paragraph_line [link1](url1) [link2](url2) [link3](url3) [link4](url4) [link5](url5) [link6](url6) [link7](url7) [link8](url8) [link9](url9) [link10](url10) ├─ inline [link1](url1) └─ inline_core [link1](url1) └─ inline_link [link1](url1) └─ bracket_link_without_title [link1](url1) ├─ inline [link2](url2) └─ inline_core [link2](url2) └─ inline_link [link2](url2) └─ bracket_link_without_title [link2](url2) ├─ inline [link3](url3) └─ inline_core [link3](url3) └─ inline_link [link3](url3) └─ bracket_link_without_title [link3](url3) ├─ inline [link4](url4) └─ inline_core [link4](url4) └─ inline_link [link4](url4) └─ bracket_link_without_title [link4](url4) ├─ inline [link5](url5) └─ inline_core [link5](url5) └─ inline_link [link5](url5) └─ bracket_link_without_title [link5](url5) ├─ inline [link6](url6) └─ inline_core [link6](url6) └─ inline_link [link6](url6) └─ bracket_link_without_title [link6](url6) ├─ inline [link7](url7) └─ inline_core [link7](url7) └─ inline_link [link7](url7) └─ bracket_link_without_title [link7](url7) ├─ inline [link8](url8) └─ inline_core [link8](url8) └─ inline_link [link8](url8) └─ bracket_link_without_title [link8](url8) ├─ inline [link9](url9) └─ inline_core [link9](url9) └─ inline_link [link9](url9) └─ bracket_link_without_title [link9](url9) └─ inline [link10](url10) └─ inline_core [link10](url10) └─ inline_link [link10](url10) └─ bracket_link_without_title [link10](url10)
Example 507
✅ PASSED
Rule: document
Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] with[^8] many[^9] footnotes[^10] to[^11] test[^12] memory[^13] usage[^14] patterns[^15]
document Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] with[^8] many[^9] footnotes[^10] to[^11] test[^12] memory[^13] usage[^14] patterns[^15] └─ block Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] with[^8] many[^9] footnotes[^10] to[^11] test[^12] memory[^13] usage[^14] patterns[^15] └─ paragraph Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] with[^8] many[^9] footnotes[^10] to[^11] test[^12] memory[^13] usage[^14] patterns[^15] └─ paragraph_line Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] with[^8] many[^9] footnotes[^10] to[^11] test[^12] memory[^13] usage[^14] patterns[^15] └─ inline Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] with[^8] many[^9] footnotes[^10] to[^11] test[^12] memory[^13] usage[^14] patterns[^15] └─ inline_core Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] with[^8] many[^9] footnotes[^10] to[^11] test[^12] memory[^13] usage[^14] patterns[^15] └─ text Text[^1] more[^2] text[^3] here[^4] and[^5] there[^6] everywhere[^7] with[^8] many[^9] footnotes[^10] to[^11] test[^12] memory[^13] usage[^14] patterns[^15] ├─ word Text ├─ word 1 ├─ word more ├─ word 2 ├─ word text ├─ word 3 ├─ word here ├─ word 4 ├─ word and ├─ word 5 ├─ word there ├─ word 6 ├─ word everywhere ├─ word 7 ├─ word with ├─ word 8 ├─ word many ├─ word 9 ├─ word footnotes ├─ word 10 ├─ word to ├─ word 11 ├─ word test ├─ word 12 ├─ word memory ├─ word 13 ├─ word usage ├─ word 14 ├─ word patterns └─ word 15
Example 508
✅ PASSED
Rule: document
- Level 1 Item 1\n - Level 2 Item 1\n - Level 3 Item 1\n - Level 4 Item 1\n - Level 5 Item 1\n - Level 6 Item 1\n - Level 7 Item 1\n - Level 8 Item 1\n - Level 9 Item 1\n - Level 10 Item 1\n- Level 1 Item 2\n - Level 2 Item 2\n - Level 3 Item 2\n - Level 4 Item 2\n - Level 5 Item 2\n- Level 1 Item 3\n - Level 2 Item 3\n - Level 3 Item 3
document - Level 1 Item 1\n - Level 2 Item 1\n - Level 3 Item 1\n - Level 4 Item 1\n - Level 5 Item 1\n - Level 6 Item 1\n - Level 7 Item 1\n - Level 8 Item 1\n - Level 9 Item 1\n - Level 10 Item 1\n- Level 1 Item 2\n - Level 2 Item 2\n - Level 3 Item 2\n - Level 4 Item 2\n - Level 5 Item 2\n- Level 1 Item 3\n - Level 2 Item 3\n - Level 3 Item 3 └─ block - Level 1 Item 1\n - Level 2 Item 1\n - Level 3 Item 1\n - Level 4 Item 1\n - Level 5 Item 1\n - Level 6 Item 1\n - Level 7 Item 1\n - Level 8 Item 1\n - Level 9 Item 1\n - Level 10 Item 1\n- Level 1 Item 2\n - Level 2 Item 2\n - Level 3 Item 2\n - Level 4 Item 2\n - Level 5 Item 2\n- Level 1 Item 3\n - Level 2 Item 3\n - Level 3 Item 3 └─ list - Level 1 Item 1\n - Level 2 Item 1\n - Level 3 Item 1\n - Level 4 Item 1\n - Level 5 Item 1\n - Level 6 Item 1\n - Level 7 Item 1\n - Level 8 Item 1\n - Level 9 Item 1\n - Level 10 Item 1\n- Level 1 Item 2\n - Level 2 Item 2\n - Level 3 Item 2\n - Level 4 Item 2\n - Level 5 Item 2\n- Level 1 Item 3\n - Level 2 Item 3\n - Level 3 Item 3 └─ list_item - Level 1 Item 1\n - Level 2 Item 1\n - Level 3 Item 1\n - Level 4 Item 1\n - Level 5 Item 1\n - Level 6 Item 1\n - Level 7 Item 1\n - Level 8 Item 1\n - Level 9 Item 1\n - Level 10 Item 1\n- Level 1 Item 2\n - Level 2 Item 2\n - Level 3 Item 2\n - Level 4 Item 2\n - Level 5 Item 2\n- Level 1 Item 3\n - Level 2 Item 3\n - Level 3 Item 3 └─ regular_list_item - Level 1 Item 1\n - Level 2 Item 1\n - Level 3 Item 1\n - Level 4 Item 1\n - Level 5 Item 1\n - Level 6 Item 1\n - Level 7 Item 1\n - Level 8 Item 1\n - Level 9 Item 1\n - Level 10 Item 1\n- Level 1 Item 2\n - Level 2 Item 2\n - Level 3 Item 2\n - Level 4 Item 2\n - Level 5 Item 2\n- Level 1 Item 3\n - Level 2 Item 3\n - Level 3 Item 3 ├─ list_marker - └─ list_item_content Level 1 Item 1\n - Level 2 Item 1\n - Level 3 Item 1\n - Level 4 Item 1\n - Level 5 Item 1\n - Level 6 Item 1\n - Level 7 Item 1\n - Level 8 Item 1\n - Level 9 Item 1\n - Level 10 Item 1\n- Level 1 Item 2\n - Level 2 Item 2\n - Level 3 Item 2\n - Level 4 Item 2\n - Level 5 Item 2\n- Level 1 Item 3\n - Level 2 Item 3\n - Level 3 Item 3
Example 509
✅ PASSED
Rule: document
**bold *italic `code **bold *italic `code **bold *italic `code` italic* bold** code` italic* bold** `code` italic* bold**
document **bold *italic `code **bold *italic `code **bold *italic `code` italic* bold** code` italic* bold** `code` italic* bold** └─ block **bold *italic `code **bold *italic `code **bold *italic `code` italic* bold** code` italic* bold** `code` italic* bold** └─ paragraph **bold *italic `code **bold *italic `code **bold *italic `code` italic* bold** code` italic* bold** `code` italic* bold** └─ paragraph_line **bold *italic `code **bold *italic `code **bold *italic `code` italic* bold** code` italic* bold** `code` italic* bold** ├─ inline **bold *italic `code ** └─ inline_core **bold *italic `code ** └─ emphasis **bold *italic `code ** └─ bold **bold *italic `code ** └─ bold_asterisk **bold *italic `code ** ├─ inline bold └─ inline_core bold └─ text bold └─ word bold ├─ inline *italic `code * └─ inline_core *italic `code * └─ emphasis *italic `code * └─ italic *italic `code * └─ italic_asterisk *italic `code * ├─ inline *bold * └─ inline_core *bold * └─ emphasis *bold * └─ italic *bold * └─ italic_asterisk *bold * ├─ inline italic └─ inline_core italic └─ text italic └─ word italic ├─ inline `code` └─ inline_core `code` └─ code_inline `code` ├─ inline italic └─ inline_core italic └─ text italic └─ word italic ├─ inline * bold* └─ inline_core * bold* └─ emphasis * bold* └─ italic * bold* └─ italic_asterisk * bold* ├─ inline * code` italic* └─ inline_core * code` italic* └─ emphasis * code` italic* └─ italic * code` italic* └─ italic_asterisk * code` italic* ├─ inline bold └─ inline_core bold └─ text bold └─ word bold └─ inline ** `code` italic* bold** └─ inline_core ** `code` italic* bold** └─ emphasis ** `code` italic* bold** └─ bold ** `code` italic* bold** └─ bold_asterisk ** `code` italic* bold**
Example 510
✅ PASSED
Rule: document
((((((((((nested parentheses))))))))))
document ((((((((((nested parentheses)))))))))) └─ block ((((((((((nested parentheses)))))))))) └─ paragraph ((((((((((nested parentheses)))))))))) └─ paragraph_line ((((((((((nested parentheses)))))))))) └─ inline ((((((((((nested parentheses)))))))))) └─ inline_core ((((((((((nested parentheses)))))))))) └─ text ((((((((((nested parentheses)))))))))) ├─ safe_punct ( ├─ safe_punct ( ├─ safe_punct ( ├─ safe_punct ( ├─ safe_punct ( ├─ safe_punct ( ├─ safe_punct ( ├─ safe_punct ( ├─ safe_punct ( ├─ safe_punct ( ├─ word nested ├─ word parentheses ├─ safe_punct ) ├─ safe_punct ) ├─ safe_punct ) ├─ safe_punct ) ├─ safe_punct ) ├─ safe_punct ) ├─ safe_punct ) ├─ safe_punct ) ├─ safe_punct ) └─ safe_punct )
Example 511
✅ PASSED
Rule: document
| Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Col7 | Col8 |\n|------|------|------|------|------|------|------|------|\n| Data1| Data2| Data3| Data4| Data5| Data6| Data7| Data8|\n| Data9| Data10| Data11| Data12| Data13| Data14| Data15| Data16|\n| Data17| Data18| Data19| Data20| Data21| Data22| Data23| Data24|\n| Data25| Data26| Data27| Data28| Data29| Data30| Data31| Data32|
document | Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Col7 | Col8 |\n|------|------|------|------|------|------|------|------|\n| Data1| Data2| Data3| Data4| Data5| Data6| Data7| Data8|\n| Data9| Data10| Data11| Data12| Data13| Data14| Data15| Data16|\n| Data17| Data18| Data19| Data20| Data21| Data22| Data23| Data24|\n| Data25| Data26| Data27| Data28| Data29| Data30| Data31| Data32| └─ block | Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Col7 | Col8 |\n|------|------|------|------|------|------|------|------|\n| Data1| Data2| Data3| Data4| Data5| Data6| Data7| Data8|\n| Data9| Data10| Data11| Data12| Data13| Data14| Data15| Data16|\n| Data17| Data18| Data19| Data20| Data21| Data22| Data23| Data24|\n| Data25| Data26| Data27| Data28| Data29| Data30| Data31| Data32| └─ unknown_block | Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Col7 | Col8 |\n|------|------|------|------|------|------|------|------|\n| Data1| Data2| Data3| Data4| Data5| Data6| Data7| Data8|\n| Data9| Data10| Data11| Data12| Data13| Data14| Data15| Data16|\n| Data17| Data18| Data19| Data20| Data21| Data22| Data23| Data24|\n| Data25| Data26| Data27| Data28| Data29| Data30| Data31| Data32|
Comprehensive Marco Grammar Tests - Tables 7/7 passed
Example 182
✅ PASSED
Rule: document
| Col1 | Col2 |\n|------|------|\n| A | B |
document | Col1 | Col2 |\n|------|------|\n| A | B | └─ block | Col1 | Col2 |\n|------|------|\n| A | B | └─ unknown_block | Col1 | Col2 |\n|------|------|\n| A | B |
Example 183
✅ PASSED
Rule: document
| Left | Center | Right |\n|:-----|:------:|------:|\n| A | B | C |
document | Left | Center | Right |\n|:-----|:------:|------:|\n| A | B | C | └─ block | Left | Center | Right |\n|:-----|:------:|------:|\n| A | B | C | └─ unknown_block | Left | Center | Right |\n|:-----|:------:|------:|\n| A | B | C |
Example 184
✅ PASSED
Rule: document
|A|B|\n|-|-|\n|1|2|
document |A|B|\n|-|-|\n|1|2| └─ block |A|B|\n|-|-|\n|1|2| └─ unknown_block |A|B|\n|-|-|\n|1|2|
Example 185
✅ PASSED
Rule: document
| **Bold** | *Italic* |\n|----------|----------|\n| `code` | [link](url) |
document | **Bold** | *Italic* |\n|----------|----------|\n| `code` | [link](url) | └─ block | **Bold** | *Italic* |\n|----------|----------|\n| `code` | [link](url) | └─ unknown_block | **Bold** | *Italic* |\n|----------|----------|\n| `code` | [link](url) |
Example 186
✅ PASSED
Rule: document
| Text | With \\| Pipe |\n|------|------------|\n| A | B |
document | Text | With \\| Pipe |\n|------|------------|\n| A | B | └─ block | Text | With \\| Pipe |\n|------|------------|\n| A | B | └─ unknown_block | Text | With \\| Pipe |\n|------|------------|\n| A | B |
Example 187
✅ PASSED
Rule: document
| | |\n|-|-|\n| | |
document | | |\n|-|-|\n| | | └─ block | | |\n|-|-|\n| | | └─ unknown_block | | |\n|-|-|\n| | |
Example 188
✅ PASSED
Rule: document
| A | B | C |\n|---|---|\n| 1 | 2 |
document | A | B | C |\n|---|---|\n| 1 | 2 | └─ block | A | B | C |\n|---|---|\n| 1 | 2 | └─ unknown_block | A | B | C |\n|---|---|\n| 1 | 2 |
Comprehensive Marco Grammar Tests - Fuzzing Tests 16/16 passed
Example 488
✅ PASSED
Rule: document
🜴🝺🞩🟊🠂🡑🢈🣘🤇🥞🦋🧚🨻🩲🪱🫰
document 🜴🝺🞩🟊🠂🡑🢈🣘🤇🥞🦋🧚🨻🩲🪱🫰 └─ block 🜴🝺🞩🟊🠂🡑🢈🣘🤇🥞🦋🧚🨻🩲🪱🫰 └─ paragraph 🜴🝺🞩🟊🠂🡑🢈🣘🤇🥞🦋🧚🨻🩲🪱🫰 └─ paragraph_line 🜴🝺🞩🟊🠂🡑🢈🣘🤇🥞🦋🧚🨻🩲🪱🫰 └─ inline 🜴🝺🞩🟊🠂🡑🢈🣘🤇🥞🦋🧚🨻🩲🪱🫰 └─ inline_core 🜴🝺🞩🟊🠂🡑🢈🣘🤇🥞🦋🧚🨻🩲🪱🫰 └─ text 🜴🝺🞩🟊🠂🡑🢈🣘🤇🥞🦋🧚🨻🩲🪱🫰
Example 489
✅ PASSED
Rule: document
𝄞𝄢𝅘𝅥𝆺𝇇𝇈𝇉𝇊𝇋𝇌𝇍𝇎𝇏𝇐𝇑
document 𝄞𝄢𝅘𝅥𝆺𝇇𝇈𝇉𝇊𝇋𝇌𝇍𝇎𝇏𝇐𝇑 └─ block 𝄞𝄢𝅘𝅥𝆺𝇇𝇈𝇉𝇊𝇋𝇌𝇍𝇎𝇏𝇐𝇑 └─ paragraph 𝄞𝄢𝅘𝅥𝆺𝇇𝇈𝇉𝇊𝇋𝇌𝇍𝇎𝇏𝇐𝇑 └─ paragraph_line 𝄞𝄢𝅘𝅥𝆺𝇇𝇈𝇉𝇊𝇋𝇌𝇍𝇎𝇏𝇐𝇑 └─ inline 𝄞𝄢𝅘𝅥𝆺𝇇𝇈𝇉𝇊𝇋𝇌𝇍𝇎𝇏𝇐𝇑 └─ inline_core 𝄞𝄢𝅘𝅥𝆺𝇇𝇈𝇉𝇊𝇋𝇌𝇍𝇎𝇏𝇐𝇑 └─ text 𝄞𝄢𝅘𝅥𝆺𝇇𝇈𝇉𝇊𝇋𝇌𝇍𝇎𝇏𝇐𝇑
Example 490
✅ PASSED
Rule: document
丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳乃乄乚乜
document 丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳乃乄乚乜 └─ block 丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳乃乄乚乜 └─ paragraph 丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳乃乄乚乜 └─ paragraph_line 丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳乃乄乚乜 └─ inline 丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳乃乄乚乜 └─ inline_core 丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳乃乄乚乜 └─ text 丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳乃乄乚乜 └─ word 丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳乃乄乚乜
Example 491
✅ PASSED
Rule: document
؀؁؂؃؄؅؆؇؈؉؊؋،؍؎؏ؘؙؚ؛؜؝؞؟
document ؀؁؂؃؄؅؆؇؈؉؊؋،؍؎؏ؘؙؚ؛؜؝؞؟ └─ block ؀؁؂؃؄؅؆؇؈؉؊؋،؍؎؏ؘؙؚ؛؜؝؞؟ └─ paragraph ؀؁؂؃؄؅؆؇؈؉؊؋،؍؎؏ؘؙؚ؛؜؝؞؟ └─ paragraph_line ؀؁؂؃؄؅؆؇؈؉؊؋،؍؎؏ؘؙؚ؛؜؝؞؟ └─ inline ؀؁؂؃؄؅؆؇؈؉؊؋،؍؎؏ؘؙؚ؛؜؝؞؟ └─ inline_core ؀؁؂؃؄؅؆؇؈؉؊؋،؍؎؏ؘؙؚ؛؜؝؞؟ └─ text ؀؁؂؃؄؅؆؇؈؉؊؋،؍؎؏ؘؙؚ؛؜؝؞؟ ├─ safe_punct ؉ ├─ safe_punct ؊ ├─ safe_punct ، ├─ safe_punct ؍ ├─ safe_punct ؛ ├─ safe_punct ؝ ├─ safe_punct ؞ └─ safe_punct ؟
Example 492
✅ PASSED
Rule: document
\\uD800
document \\uD800 └─ block \\uD800 └─ paragraph \\uD800 └─ paragraph_line \\uD800 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline uD800 └─ inline_core uD800 └─ text uD800 └─ word uD800
Example 493
✅ PASSED
Rule: document
\\uDFFF
document \\uDFFF └─ block \\uDFFF └─ paragraph \\uDFFF └─ paragraph_line \\uDFFF ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline uDFFF └─ inline_core uDFFF └─ text uDFFF └─ word uDFFF
Example 494
✅ PASSED
Rule: document
\\u0000
document \\u0000 └─ block \\u0000 └─ paragraph \\u0000 └─ paragraph_line \\u0000 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline u0000 └─ inline_core u0000 └─ text u0000 └─ word u0000
Example 495
✅ PASSED
Rule: document
\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\u0008
document \\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\u0008 └─ block \\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\u0008 └─ paragraph \\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\u0008 └─ paragraph_line \\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\u0008 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0001 └─ inline_core u0001 └─ text u0001 └─ word u0001 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0002 └─ inline_core u0002 └─ text u0002 └─ word u0002 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0003 └─ inline_core u0003 └─ text u0003 └─ word u0003 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0004 └─ inline_core u0004 └─ text u0004 └─ word u0004 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0005 └─ inline_core u0005 └─ text u0005 └─ word u0005 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0006 └─ inline_core u0006 └─ text u0006 └─ word u0006 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline u0007 └─ inline_core u0007 └─ text u0007 └─ word u0007 ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline u0008 └─ inline_core u0008 └─ text u0008 └─ word u0008
Example 496
✅ PASSED
Rule: document
!@#$%^&*()_+{}|:<>?[];',./
document !@#$%^&*()_+{}|:<>?[];',./ ├─ block !@# └─ paragraph !@# └─ paragraph_line !@# └─ inline !@# └─ inline_core !@# └─ text !@# └─ safe_punct ! └─ block $%^&*()_+{}|:<>?[];',./ └─ unknown_block $%^&*()_+{}|:<>?[];',./
Example 497
✅ PASSED
Rule: document
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿
document ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ └─ block ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ └─ paragraph ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ └─ paragraph_line ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ └─ inline ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ └─ inline_core ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ └─ text ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ ├─ safe_punct ¡ ├─ safe_punct § ├─ word ª ├─ safe_punct « ├─ math_symbol ± ├─ word µ ├─ safe_punct ├─ safe_punct · ├─ word º ├─ safe_punct » └─ safe_punct ¿
Example 498
✅ PASSED
Rule: document
*_`#[]()~>|$@^=-\\**_`#[]()~>|$@^=-\\*
document *_`#[]()~>|$@^=-\\**_`#[]()~>|$@^=-\\* └─ block *_`#[]()~>|$@^=-\\**_`#[]()~>|$@^=-\\* └─ paragraph *_`#[]()~>|$@^=-\\**_`#[]()~>|$@^=-\\* └─ paragraph_line *_`#[]()~>|$@^=-\\**_`#[]()~>|$@^=-\\* ├─ inline *_`#[]()~>|$@^=-\\* └─ inline_core *_`#[]()~>|$@^=-\\* └─ emphasis *_`#[]()~>|$@^=-\\* └─ italic *_`#[]()~>|$@^=-\\* └─ italic_asterisk *_`#[]()~>|$@^=-\\* └─ inline *_`#[]()~>|$@^=-\\* └─ inline_core *_`#[]()~>|$@^=-\\* └─ emphasis *_`#[]()~>|$@^=-\\* └─ italic *_`#[]()~>|$@^=-\\* └─ italic_asterisk *_`#[]()~>|$@^=-\\*
Example 499
✅ PASSED
Rule: document
([{<>}])(([{<>}]))((([{<>}])))
document ([{<>}])(([{<>}]))((([{<>}]))) └─ block ([{<>}])(([{<>}]))((([{<>}]))) └─ paragraph ([{<>}])(([{<>}]))((([{<>}]))) └─ paragraph_line ([{<>}])(([{<>}]))((([{<>}]))) └─ inline ([{<>}])(([{<>}]))((([{<>}]))) └─ inline_core ([{<>}])(([{<>}]))((([{<>}]))) └─ text ([{<>}])(([{<>}]))((([{<>}]))) ├─ safe_punct ( ├─ safe_punct { ├─ safe_punct } ├─ safe_punct ) ├─ safe_punct ( ├─ safe_punct ( ├─ safe_punct { ├─ safe_punct } ├─ safe_punct ) ├─ safe_punct ) ├─ safe_punct ( ├─ safe_punct ( ├─ safe_punct ( ├─ safe_punct { ├─ safe_punct } ├─ safe_punct ) ├─ safe_punct ) └─ safe_punct )
Example 500
✅ PASSED
Rule: document
🏳️‍🌈👨‍👩‍👧‍👦🤷🏽‍♀️🧑🏻‍💻🇺🇸🇬🇧🇩🇪🇫🇷🇮🇹
document 🏳️‍🌈👨‍👩‍👧‍👦🤷🏽‍♀️🧑🏻‍💻🇺🇸🇬🇧🇩🇪🇫🇷🇮🇹 └─ block 🏳️‍🌈👨‍👩‍👧‍👦🤷🏽‍♀️🧑🏻‍💻🇺🇸🇬🇧🇩🇪🇫🇷🇮🇹 └─ paragraph 🏳️‍🌈👨‍👩‍👧‍👦🤷🏽‍♀️🧑🏻‍💻🇺🇸🇬🇧🇩🇪🇫🇷🇮🇹 └─ paragraph_line 🏳️‍🌈👨‍👩‍👧‍👦🤷🏽‍♀️🧑🏻‍💻🇺🇸🇬🇧🇩🇪🇫🇷🇮🇹 └─ inline 🏳️‍🌈👨‍👩‍👧‍👦🤷🏽‍♀️🧑🏻‍💻🇺🇸🇬🇧🇩🇪🇫🇷🇮🇹 └─ inline_core 🏳️‍🌈👨‍👩‍👧‍👦🤷🏽‍♀️🧑🏻‍💻🇺🇸🇬🇧🇩🇪🇫🇷🇮🇹 └─ text 🏳️‍🌈👨‍👩‍👧‍👦🤷🏽‍♀️🧑🏻‍💻🇺🇸🇬🇧🇩🇪🇫🇷🇮🇹
Example 501
✅ PASSED
Rule: document
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
document aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ block aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ paragraph aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ paragraph_line aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ inline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ inline_core aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ text aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ word aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Example 502
✅ PASSED
Rule: document
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
document aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ block aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ paragraph aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ paragraph_line aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ inline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ inline_core aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ text aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ word aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Example 503
✅ PASSED
Rule: document
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
document aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ block aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ paragraph aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ paragraph_line aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ inline aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ inline_core aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ text aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ word aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Comprehensive Marco Grammar Tests - Setext headings 7/7 passed
Example 32
✅ PASSED
Rule: document
Heading\n=======
document Heading\n======= ├─ block Heading └─ paragraph Heading └─ paragraph_line Heading └─ inline Heading └─ inline_core Heading └─ text Heading └─ word Heading └─ block \n======= └─ unknown_block \n=======
Example 33
✅ PASSED
Rule: document
Heading\n============
document Heading\n============ ├─ block Heading └─ paragraph Heading └─ paragraph_line Heading └─ inline Heading └─ inline_core Heading └─ text Heading └─ word Heading └─ block \n============ └─ unknown_block \n============
Example 34
✅ PASSED
Rule: document
Long Heading Text\n===
document Long Heading Text\n=== ├─ block Long Heading Text └─ paragraph Long Heading Text └─ paragraph_line Long Heading Text └─ inline Long Heading Text └─ inline_core Long Heading Text └─ text Long Heading Text ├─ word Long ├─ word Heading └─ word Text └─ block \n=== └─ unknown_block \n===
Example 35
✅ PASSED
Rule: document
Subheading\n----------
document Subheading\n---------- ├─ block Subheading └─ paragraph Subheading └─ paragraph_line Subheading └─ inline Subheading └─ inline_core Subheading └─ text Subheading └─ word Subheading └─ block \n---------- └─ unknown_block \n----------
Example 36
✅ PASSED
Rule: document
Subheading\n-----------
document Subheading\n----------- ├─ block Subheading └─ paragraph Subheading └─ paragraph_line Subheading └─ inline Subheading └─ inline_core Subheading └─ text Subheading └─ word Subheading └─ block \n----------- └─ unknown_block \n-----------
Example 37
✅ PASSED
Rule: document
Heading\n
document Heading\n ├─ block Heading └─ paragraph Heading └─ paragraph_line Heading └─ inline Heading └─ inline_core Heading └─ text Heading └─ word Heading └─ block \n └─ unknown_block \n
Example 38
✅ PASSED
Rule: document
\n======
document \n====== └─ block \n====== └─ unknown_block \n======
Comprehensive Marco Grammar Tests - Admonitions 10/10 passed
Example 234
✅ PASSED
Rule: document
:::note\nThis is a note\n:::
document :::note\nThis is a note\n::: └─ block :::note\nThis is a note\n::: └─ macro_block :::note\nThis is a note\n::: └─ admonition_block :::note\nThis is a note\n::: ├─ admonition_open :::note └─ admonition_type note └─ KW_NOTE note └─ admonition_close :::
Example 235
✅ PASSED
Rule: document
:::tip\nThis is a tip\n:::
document :::tip\nThis is a tip\n::: └─ block :::tip\nThis is a tip\n::: └─ macro_block :::tip\nThis is a tip\n::: └─ admonition_block :::tip\nThis is a tip\n::: ├─ admonition_open :::tip └─ admonition_type tip └─ KW_TIP tip └─ admonition_close :::
Example 236
✅ PASSED
Rule: document
:::warning\nThis is a warning\n:::
document :::warning\nThis is a warning\n::: └─ block :::warning\nThis is a warning\n::: └─ macro_block :::warning\nThis is a warning\n::: └─ admonition_block :::warning\nThis is a warning\n::: ├─ admonition_open :::warning └─ admonition_type warning └─ KW_WARNING warning └─ admonition_close :::
Example 237
✅ PASSED
Rule: document
:::danger\nThis is dangerous\n:::
document :::danger\nThis is dangerous\n::: └─ block :::danger\nThis is dangerous\n::: └─ macro_block :::danger\nThis is dangerous\n::: └─ admonition_block :::danger\nThis is dangerous\n::: ├─ admonition_open :::danger └─ admonition_type danger └─ KW_DANGER danger └─ admonition_close :::
Example 238
✅ PASSED
Rule: document
:::info\nThis is info\n:::
document :::info\nThis is info\n::: └─ block :::info\nThis is info\n::: └─ macro_block :::info\nThis is info\n::: └─ admonition_block :::info\nThis is info\n::: ├─ admonition_open :::info └─ admonition_type info └─ KW_INFO info └─ admonition_close :::
Example 239
✅ PASSED
Rule: document
:::note[Custom Title]\nNote content\n:::
document :::note[Custom Title]\nNote content\n::: └─ block :::note[Custom Title]\nNote content\n::: └─ macro_block :::note[Custom Title]\nNote content\n::: └─ admonition_block :::note[Custom Title]\nNote content\n::: ├─ admonition_open :::note[Custom Title] └─ admonition_type note └─ KW_NOTE note └─ admonition_close :::
Example 240
✅ PASSED
Rule: document
:::warning[Important Warning]\nWarning content\n:::
document :::warning[Important Warning]\nWarning content\n::: └─ block :::warning[Important Warning]\nWarning content\n::: └─ macro_block :::warning[Important Warning]\nWarning content\n::: └─ admonition_block :::warning[Important Warning]\nWarning content\n::: ├─ admonition_open :::warning[Important Warning] └─ admonition_type warning └─ KW_WARNING warning └─ admonition_close :::
Example 241
✅ PASSED
Rule: document
:::[💡] Custom Emoji\nContent here\n:::
document :::[💡] Custom Emoji\nContent here\n::: └─ block :::[💡] Custom Emoji\nContent here\n::: └─ macro_block :::[💡] Custom Emoji\nContent here\n::: └─ admonition_block :::[💡] Custom Emoji\nContent here\n::: └─ admonition_emoji :::[💡] Custom Emoji\nContent here\n:::
Example 242
✅ PASSED
Rule: document
:::NOTE\nUppercase note\n:::
document :::NOTE\nUppercase note\n::: └─ block :::NOTE\nUppercase note\n::: └─ macro_block :::NOTE\nUppercase note\n::: └─ admonition_block :::NOTE\nUppercase note\n::: ├─ admonition_open :::NOTE └─ admonition_type NOTE └─ KW_NOTE NOTE └─ admonition_close :::
Example 243
✅ PASSED
Rule: document
:::TiP\nMixed case tip\n:::
document :::TiP\nMixed case tip\n::: └─ block :::TiP\nMixed case tip\n::: └─ macro_block :::TiP\nMixed case tip\n::: └─ admonition_block :::TiP\nMixed case tip\n::: ├─ admonition_open :::TiP └─ admonition_type TiP └─ KW_TIP TiP └─ admonition_close :::
Comprehensive Marco Grammar Tests - Commonmark Raw Html 21/21 passed
Example 1004
✅ PASSED
Rule: document
<a><bab><c2c>\n
document <a><bab><c2c>\n ├─ block <a> └─ block_html <a> ├─ block <bab> └─ block_html <bab> ├─ block <c2c> └─ block_html <c2c> └─ block \n └─ unknown_block \n
Example 1005
✅ PASSED
Rule: document
<a/><b2/>\n
document <a/><b2/>\n ├─ block <a/> └─ block_html <a/> ├─ block <b2/> └─ block_html <b2/> └─ block \n └─ unknown_block \n
Example 1006
✅ PASSED
Rule: document
<a /><b2\ndata=\"foo\" >\n
document <a /><b2\ndata=\"foo\" >\n ├─ block <a /> └─ block_html <a /> ├─ block <b2\ndata=\"foo\" > └─ block_html <b2\ndata=\"foo\" > └─ block \n └─ unknown_block \n
Example 1007
✅ PASSED
Rule: document
<a foo=\"bar\" bam = 'baz <em>\"</em>'\n_boolean zoop:33=zoop:33 />\n
document <a foo=\"bar\" bam = 'baz <em>\"</em>'\n_boolean zoop:33=zoop:33 />\n ├─ block <a foo=\"bar\" bam = 'baz <em> └─ block_html <a foo=\"bar\" bam = 'baz <em> └─ block \"</em>'\n_boolean zoop:33=zoop:33 />\n └─ unknown_block \"</em>'\n_boolean zoop:33=zoop:33 />\n
Example 1008
✅ PASSED
Rule: document
Foo <responsive-image src=\"foo.jpg\" />\n
document Foo <responsive-image src=\"foo.jpg\" />\n ├─ block Foo <responsive-image src= └─ paragraph Foo <responsive-image src= └─ paragraph_line Foo <responsive-image src= └─ inline Foo <responsive-image src= └─ inline_core Foo <responsive-image src= └─ text Foo <responsive-image src= ├─ word Foo ├─ word responsive-image ├─ word src └─ math_symbol = └─ block \"foo.jpg\" />\n └─ unknown_block \"foo.jpg\" />\n
Example 1009
✅ PASSED
Rule: document
<33> <__>\n
document <33> <__>\n ├─ block <33> └─ block_html <33> ├─ block <__> └─ block_html <__> └─ block \n └─ unknown_block \n
Example 1010
✅ PASSED
Rule: document
<a h*#ref=\"hi\">\n
document <a h*#ref=\"hi\">\n ├─ block <a h*#ref=\"hi\"> └─ block_html <a h*#ref=\"hi\"> └─ block \n └─ unknown_block \n
Example 1011
✅ PASSED
Rule: document
<a href=\"hi'> <a href=hi'>\n
document <a href=\"hi'> <a href=hi'>\n ├─ block <a href=\"hi'> └─ block_html <a href=\"hi'> ├─ block <a href=hi'> └─ block_html <a href=hi'> └─ block \n └─ unknown_block \n
Example 1012
✅ PASSED
Rule: document
< a><\nfoo><bar/ >\n<foo bar=baz\nbim!bop />\n
document < a><\nfoo><bar/ >\n<foo bar=baz\nbim!bop />\n ├─ block < a> └─ block_html < a> ├─ block <\nfoo> └─ block_html <\nfoo> ├─ block <bar/ > └─ block_html <bar/ > └─ block \n<foo bar=baz\nbim!bop />\n └─ unknown_block \n<foo bar=baz\nbim!bop />\n
Example 1013
✅ PASSED
Rule: document
<a href='bar'title=title>\n
document <a href='bar'title=title>\n ├─ block <a href='bar'title=title> └─ block_html <a href='bar'title=title> └─ block \n └─ unknown_block \n
Example 1014
✅ PASSED
Rule: document
</a></foo >\n
document </a></foo >\n ├─ block </a> └─ block_html </a> ├─ block </foo > └─ block_html </foo > └─ block \n └─ unknown_block \n
Example 1015
✅ PASSED
Rule: document
</a href=\"foo\">\n
document </a href=\"foo\">\n ├─ block </a href=\"foo\"> └─ block_html </a href=\"foo\"> └─ block \n └─ unknown_block \n
Example 1016
✅ PASSED
Rule: document
foo <!-- this is a\ncomment - with hyphen -->\n
document foo <!-- this is a\ncomment - with hyphen -->\n ├─ block foo <!-- this is a └─ paragraph foo <!-- this is a └─ paragraph_line foo <!-- this is a └─ inline foo <!-- this is a └─ inline_core foo <!-- this is a └─ text foo <!-- this is a ├─ word foo ├─ safe_punct ! ├─ word this ├─ word is └─ word a └─ block \ncomment - with hyphen -->\n └─ unknown_block \ncomment - with hyphen -->\n
Example 1017
✅ PASSED
Rule: document
foo <!-- not a comment -- two hyphens -->\n
document foo <!-- not a comment -- two hyphens -->\n ├─ block foo <!-- not a comment -- two hyphens --> └─ paragraph foo <!-- not a comment -- two hyphens --> └─ paragraph_line foo <!-- not a comment -- two hyphens --> └─ inline foo <!-- not a comment -- two hyphens --> └─ inline_core foo <!-- not a comment -- two hyphens --> └─ text foo <!-- not a comment -- two hyphens --> ├─ word foo ├─ safe_punct ! ├─ word not ├─ word a ├─ word comment ├─ word two └─ word hyphens └─ block \n └─ unknown_block \n
Example 1018
✅ PASSED
Rule: document
foo <!--> foo -->\n\nfoo <!-- foo--->\n
document foo <!--> foo -->\n\nfoo <!-- foo--->\n ├─ block foo <!--> foo --> └─ paragraph foo <!--> foo --> └─ paragraph_line foo <!--> foo --> └─ inline foo <!--> foo --> └─ inline_core foo <!--> foo --> └─ text foo <!--> foo --> ├─ word foo ├─ safe_punct ! └─ word foo └─ block \n\nfoo <!-- foo--->\n └─ unknown_block \n\nfoo <!-- foo--->\n
Example 1019
✅ PASSED
Rule: document
foo <?php echo $a; ?>\n
document foo <?php echo $a; ?>\n ├─ block foo <?php echo └─ paragraph foo <?php echo └─ paragraph_line foo <?php echo └─ inline foo <?php echo └─ inline_core foo <?php echo └─ text foo <?php echo ├─ word foo ├─ safe_punct ? ├─ word php └─ word echo └─ block $a; ?>\n └─ unknown_block $a; ?>\n
Example 1020
✅ PASSED
Rule: document
foo <!ELEMENT br EMPTY>\n
document foo <!ELEMENT br EMPTY>\n ├─ block foo <!ELEMENT br EMPTY> └─ paragraph foo <!ELEMENT br EMPTY> └─ paragraph_line foo <!ELEMENT br EMPTY> └─ inline foo <!ELEMENT br EMPTY> └─ inline_core foo <!ELEMENT br EMPTY> └─ text foo <!ELEMENT br EMPTY> ├─ word foo ├─ safe_punct ! ├─ word ELEMENT ├─ word br └─ word EMPTY └─ block \n └─ unknown_block \n
Example 1021
✅ PASSED
Rule: document
foo <![CDATA[>&<]]>\n
document foo <![CDATA[>&<]]>\n ├─ block foo <![CDATA[>&<]]> └─ paragraph foo <![CDATA[>&<]]> └─ paragraph_line foo <![CDATA[>&<]]> └─ inline foo <![CDATA[>&<]]> └─ inline_core foo <![CDATA[>&<]]> └─ text foo <![CDATA[>&<]]> ├─ word foo ├─ safe_punct ! ├─ word CDATA └─ safe_punct & └─ block \n └─ unknown_block \n
Example 1022
✅ PASSED
Rule: document
foo <a href=\"ö\">\n
document foo <a href=\"&ouml;\">\n ├─ block foo <a href= └─ paragraph foo <a href= └─ paragraph_line foo <a href= └─ inline foo <a href= └─ inline_core foo <a href= └─ text foo <a href= ├─ word foo ├─ word a ├─ word href └─ math_symbol = └─ block \"&ouml;\">\n └─ unknown_block \"&ouml;\">\n
Example 1023
✅ PASSED
Rule: document
foo <a href=\"\\*\">\n
document foo <a href=\"\\*\">\n ├─ block foo <a href= └─ paragraph foo <a href= └─ paragraph_line foo <a href= └─ inline foo <a href= └─ inline_core foo <a href= └─ text foo <a href= ├─ word foo ├─ word a ├─ word href └─ math_symbol = └─ block \"\\*\">\n └─ unknown_block \"\\*\">\n
Example 1024
✅ PASSED
Rule: document
<a href=\"\\\"\">\n
document <a href=\"\\\"\">\n ├─ block <a href=\"\\\"\"> └─ block_html <a href=\"\\\"\"> └─ block \n └─ unknown_block \n
Comprehensive Marco Grammar Tests - Diagrams 4/4 passed
Example 273
✅ PASSED
Rule: document
```mermaid\ngraph TD\nA --> B\n```
document ```mermaid\ngraph TD\nA --> B\n``` └─ block ```mermaid\ngraph TD\nA --> B\n``` └─ unknown_block ```mermaid\ngraph TD\nA --> B\n```
Example 274
✅ PASSED
Rule: document
```mermaid\nsequenceDiagram\nAlice->>Bob: Hello\nBob-->>Alice: Hi\n```
document ```mermaid\nsequenceDiagram\nAlice->>Bob: Hello\nBob-->>Alice: Hi\n``` └─ block ```mermaid\nsequenceDiagram\nAlice->>Bob: Hello\nBob-->>Alice: Hi\n``` └─ unknown_block ```mermaid\nsequenceDiagram\nAlice->>Bob: Hello\nBob-->>Alice: Hi\n```
Example 275
✅ PASSED
Rule: document
```graphviz\ndigraph G {\nA -> B\n}\n```
document ```graphviz\ndigraph G {\nA -> B\n}\n``` └─ block ```graphviz\ndigraph G {\nA -> B\n}\n``` └─ unknown_block ```graphviz\ndigraph G {\nA -> B\n}\n```
Example 276
✅ PASSED
Rule: document
```MERMAID\ngraph LR\nA --> B\n```
document ```MERMAID\ngraph LR\nA --> B\n``` └─ block ```MERMAID\ngraph LR\nA --> B\n``` └─ unknown_block ```MERMAID\ngraph LR\nA --> B\n```
Comprehensive Marco Grammar Tests - Commonmark Soft Line Breaks 2/2 passed
Example 1060
✅ PASSED
Rule: document
foo\nbaz\n
document foo\nbaz\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \nbaz\n └─ unknown_block \nbaz\n
Example 1061
✅ PASSED
Rule: document
foo \n baz\n
document foo \n baz\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n baz\n └─ unknown_block \n baz\n
Comprehensive Marco Grammar Tests - Commonmark Blank Lines 1/1 passed
Example 1025
✅ PASSED
Rule: document
\n\naaa\n \n\n# aaa\n\n \n
document \n\naaa\n \n\n# aaa\n\n \n └─ block \n\naaa\n \n\n# aaa\n\n \n └─ unknown_block \n\naaa\n \n\n# aaa\n\n \n
Comprehensive Marco Grammar Tests - Fenced code blocks 7/7 passed
Example 87
✅ PASSED
Rule: document
```\ncode here\n```
document ```\ncode here\n``` └─ block ```\ncode here\n``` └─ unknown_block ```\ncode here\n```
Example 88
✅ PASSED
Rule: document
```rust\nfn main() {}\n```
document ```rust\nfn main() {}\n``` └─ block ```rust\nfn main() {}\n``` └─ unknown_block ```rust\nfn main() {}\n```
Example 89
✅ PASSED
Rule: document
```python\nprint('hello')\n```
document ```python\nprint('hello')\n``` └─ block ```python\nprint('hello')\n``` └─ unknown_block ```python\nprint('hello')\n```
Example 90
✅ PASSED
Rule: document
```\n\n```
document ```\n\n``` └─ block ```\n\n``` └─ unknown_block ```\n\n```
Example 91
✅ PASSED
Rule: document
```\nsome code\nmore code\n```
document ```\nsome code\nmore code\n``` └─ block ```\nsome code\nmore code\n``` └─ unknown_block ```\nsome code\nmore code\n```
Example 92
✅ PASSED
Rule: document
```\ncode with ``` inside\n```
document ```\ncode with ``` inside\n``` └─ block ```\ncode with ``` inside\n``` └─ unknown_block ```\ncode with ``` inside\n```
Example 93
✅ PASSED
Rule: document
```rust\nfn main() {\n println!(\"hello\");\n}\n```
document ```rust\nfn main() {\n println!(\"hello\");\n}\n``` └─ block ```rust\nfn main() {\n println!(\"hello\");\n}\n``` └─ unknown_block ```rust\nfn main() {\n println!(\"hello\");\n}\n```
Comprehensive Marco Grammar Tests - Lists 17/17 passed
Example 151
✅ PASSED
Rule: document
- Item 1
document - Item 1 └─ block - Item 1 └─ list - Item 1 └─ list_item - Item 1 └─ regular_list_item - Item 1 ├─ list_marker - └─ list_item_content Item 1
Example 152
✅ PASSED
Rule: document
* Item 2
document * Item 2 └─ block * Item 2 └─ list * Item 2 └─ list_item * Item 2 └─ regular_list_item * Item 2 ├─ list_marker * └─ list_item_content Item 2
Example 153
✅ PASSED
Rule: document
+ Item 3
document + Item 3 └─ block + Item 3 └─ list + Item 3 └─ list_item + Item 3 └─ regular_list_item + Item 3 ├─ list_marker + └─ list_item_content Item 3
Example 154
✅ PASSED
Rule: document
- Level 1\n - Level 2\n - Level 3
document - Level 1\n - Level 2\n - Level 3 └─ block - Level 1\n - Level 2\n - Level 3 └─ list - Level 1\n - Level 2\n - Level 3 └─ list_item - Level 1\n - Level 2\n - Level 3 └─ regular_list_item - Level 1\n - Level 2\n - Level 3 ├─ list_marker - └─ list_item_content Level 1\n - Level 2\n - Level 3
Example 155
✅ PASSED
Rule: document
- Item 1\n* Item 2\n+ Item 3
document - Item 1\n* Item 2\n+ Item 3 └─ block - Item 1\n* Item 2\n+ Item 3 └─ list - Item 1\n* Item 2\n+ Item 3 └─ list_item - Item 1\n* Item 2\n+ Item 3 └─ regular_list_item - Item 1\n* Item 2\n+ Item 3 ├─ list_marker - └─ list_item_content Item 1\n* Item 2\n+ Item 3
Example 156
✅ PASSED
Rule: document
- **Bold item**
document - **Bold item** └─ block - **Bold item** └─ list - **Bold item** └─ list_item - **Bold item** └─ regular_list_item - **Bold item** ├─ list_marker - └─ list_item_content **Bold item**
Example 157
✅ PASSED
Rule: document
- [Link item](https://example.com)
document - [Link item](https://example.com) └─ block - [Link item](https://example.com) └─ list - [Link item](https://example.com) └─ list_item - [Link item](https://example.com) └─ regular_list_item - [Link item](https://example.com) ├─ list_marker - └─ list_item_content [Link item](https://example.com)
Example 158
✅ PASSED
Rule: document
- Item with `code`
document - Item with `code` └─ block - Item with `code` └─ list - Item with `code` └─ list_item - Item with `code` └─ regular_list_item - Item with `code` ├─ list_marker - └─ list_item_content Item with `code`
Example 159
✅ PASSED
Rule: document
-
document - └─ block - └─ paragraph - └─ paragraph_line - └─ inline - └─ inline_core - └─ text -
Example 160
✅ PASSED
Rule: document
-
document - └─ block - └─ list - └─ list_item - └─ regular_list_item - ├─ list_marker - └─ list_item_content
Example 161
✅ PASSED
Rule: document
- This is a very long list item that spans multiple lines and should still be parsed correctly
document - This is a very long list item that spans multiple lines and should still be parsed correctly └─ block - This is a very long list item that spans multiple lines and should still be parsed correctly └─ list - This is a very long list item that spans multiple lines and should still be parsed correctly └─ list_item - This is a very long list item that spans multiple lines and should still be parsed correctly └─ regular_list_item - This is a very long list item that spans multiple lines and should still be parsed correctly ├─ list_marker - └─ list_item_content This is a very long list item that spans multiple lines and should still be parsed correctly
Example 162
✅ PASSED
Rule: document
1. First item
document 1. First item └─ block 1. First item └─ list 1. First item └─ list_item 1. First item └─ regular_list_item 1. First item ├─ list_marker 1. └─ list_item_content First item
Example 163
✅ PASSED
Rule: document
10. Tenth item
document 10. Tenth item └─ block 10. Tenth item └─ list 10. Tenth item └─ list_item 10. Tenth item └─ regular_list_item 10. Tenth item ├─ list_marker 10. └─ list_item_content Tenth item
Example 164
✅ PASSED
Rule: document
999. Large number
document 999. Large number └─ block 999. Large number └─ list 999. Large number └─ list_item 999. Large number └─ regular_list_item 999. Large number ├─ list_marker 999. └─ list_item_content Large number
Example 165
✅ PASSED
Rule: document
5. Fifth item
document 5. Fifth item └─ block 5. Fifth item └─ list 5. Fifth item └─ list_item 5. Fifth item └─ regular_list_item 5. Fifth item ├─ list_marker 5. └─ list_item_content Fifth item
Example 166
✅ PASSED
Rule: document
0. Zero item
document 0. Zero item └─ block 0. Zero item └─ list 0. Zero item └─ list_item 0. Zero item └─ regular_list_item 0. Zero item ├─ list_marker 0. └─ list_item_content Zero item
Example 167
✅ PASSED
Rule: document
1. Ordered\n- Unordered\n2. Back to ordered
document 1. Ordered\n- Unordered\n2. Back to ordered └─ block 1. Ordered\n- Unordered\n2. Back to ordered └─ list 1. Ordered\n- Unordered\n2. Back to ordered └─ list_item 1. Ordered\n- Unordered\n2. Back to ordered └─ regular_list_item 1. Ordered\n- Unordered\n2. Back to ordered ├─ list_marker 1. └─ list_item_content Ordered\n- Unordered\n2. Back to ordered
Comprehensive Marco Grammar Tests - Commonmark Edge Cases 29/29 passed
Example 343
✅ PASSED
Rule: document
[*foo*](bar)
document [*foo*](bar) └─ block [*foo*](bar) └─ paragraph [*foo*](bar) └─ paragraph_line [*foo*](bar) └─ inline [*foo*](bar) └─ inline_core [*foo*](bar) └─ inline_link [*foo*](bar) └─ bracket_link_without_title [*foo*](bar)
Example 344
✅ PASSED
Rule: document
*[foo](bar)*
document *[foo](bar)* └─ block *[foo](bar)* └─ paragraph *[foo](bar)* └─ paragraph_line *[foo](bar)* └─ inline *[foo](bar)* └─ inline_core *[foo](bar)* └─ emphasis *[foo](bar)* └─ italic *[foo](bar)* └─ italic_asterisk *[foo](bar)*
Example 345
✅ PASSED
Rule: document
`*foo*`
document `*foo*` └─ block `*foo*` └─ paragraph `*foo*` └─ paragraph_line `*foo*` └─ inline `*foo*` └─ inline_core `*foo*` └─ code_inline `*foo*`
Example 346
✅ PASSED
Rule: document
<em>*foo*</em>
document <em>*foo*</em> ├─ block <em> └─ block_html <em> └─ block *foo*</em> └─ paragraph *foo*</em> └─ paragraph_line *foo*</em> ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* └─ inline </em> └─ inline_core </em> └─ inline_html </em>
Example 347
✅ PASSED
Rule: document
& < > " ' '
document &amp; &lt; &gt; &quot; &#39; &#x27; └─ block &amp; &lt; &gt; &quot; &#39; &#x27; └─ paragraph &amp; &lt; &gt; &quot; &#39; &#x27; └─ paragraph_line &amp; &lt; &gt; &quot; &#39; &#x27; └─ inline &amp; &lt; &gt; &quot; &#39; &#x27; └─ inline_core &amp; &lt; &gt; &quot; &#39; &#x27; └─ text &amp; &lt; &gt; &quot; &#39; &#x27; ├─ safe_punct & ├─ word amp ├─ safe_punct ; ├─ safe_punct & ├─ word lt ├─ safe_punct ; ├─ safe_punct & ├─ word gt ├─ safe_punct ; ├─ safe_punct & ├─ word quot ├─ safe_punct ; ├─ safe_punct & ├─ word 39 ├─ safe_punct ; ├─ safe_punct & ├─ word x27 └─ safe_punct ;
Example 348
✅ PASSED
Rule: document
A A a a
document &#65; &#x41; &#97; &#x61; └─ block &#65; &#x41; &#97; &#x61; └─ paragraph &#65; &#x41; &#97; &#x61; └─ paragraph_line &#65; &#x41; &#97; &#x61; └─ inline &#65; &#x41; &#97; &#x61; └─ inline_core &#65; &#x41; &#97; &#x61; └─ text &#65; &#x41; &#97; &#x61; ├─ safe_punct & ├─ word 65 ├─ safe_punct ; ├─ safe_punct & ├─ word x41 ├─ safe_punct ; ├─ safe_punct & ├─ word 97 ├─ safe_punct ; ├─ safe_punct & ├─ word x61 └─ safe_punct ;
Example 349
✅ PASSED
Rule: document
&invalid; &; &#; &#x;
document &invalid; &; &#; &#x; └─ block &invalid; &; &#; &#x; └─ paragraph &invalid; &; &#; &#x; └─ paragraph_line &invalid; &; &#; &#x; └─ inline &invalid; &; &#; &#x; └─ inline_core &invalid; &; &#; &#x; └─ text &invalid; &; &#; &#x; ├─ safe_punct & ├─ word invalid ├─ safe_punct ; ├─ safe_punct & ├─ safe_punct ; ├─ safe_punct & ├─ safe_punct ; ├─ safe_punct & ├─ word x └─ safe_punct ;
Example 350
✅ PASSED
Rule: document
<user@example.com>
document <user@example.com> └─ block <user@example.com> └─ block_html <user@example.com>
Example 351
✅ PASSED
Rule: document
<http://example.com>
document <http://example.com> └─ block <http://example.com> └─ block_html <http://example.com>
Example 352
✅ PASSED
Rule: document
<not a url>
document <not a url> └─ block <not a url> └─ block_html <not a url>
Example 353
✅ PASSED
Rule: document
[<http://example.com>](http://other.com)
document [<http://example.com>](http://other.com) └─ block [<http://example.com>](http://other.com) └─ paragraph [<http://example.com>](http://other.com) └─ paragraph_line [<http://example.com>](http://other.com) └─ inline [<http://example.com>](http://other.com) └─ inline_core [<http://example.com>](http://other.com) └─ inline_link [<http://example.com>](http://other.com) └─ bracket_link_without_title [<http://example.com>](http://other.com)
Example 354
✅ PASSED
Rule: document
---
document --- └─ block --- └─ hr --- └─ hr_dash ---
Example 355
✅ PASSED
Rule: document
---
document --- └─ block --- └─ hr --- └─ hr_dash ---
Example 356
✅ PASSED
Rule: document
- - -
document - - - └─ block - - - └─ hr - - - └─ hr_dash - - -
Example 357
✅ PASSED
Rule: document
-*-
document -*- └─ block -*- └─ paragraph -*- └─ paragraph_line -*- ├─ inline - └─ inline_core - └─ text - └─ inline *- └─ inline_core *- └─ emphasis *- └─ italic *- └─ italic_asterisk *-
Example 358
✅ PASSED
Rule: document
--
document -- └─ block -- └─ paragraph -- └─ paragraph_line -- └─ inline -- └─ inline_core -- └─ text --
Example 359
✅ PASSED
Rule: document
- foo\n- bar\n\n- baz
document - foo\n- bar\n\n- baz └─ block - foo\n- bar\n\n- baz └─ list - foo\n- bar\n\n- baz └─ list_item - foo\n- bar\n\n- baz └─ regular_list_item - foo\n- bar\n\n- baz ├─ list_marker - └─ list_item_content foo\n- bar\n\n- baz
Example 360
✅ PASSED
Rule: document
1. foo\n\n2. bar
document 1. foo\n\n2. bar └─ block 1. foo\n\n2. bar └─ list 1. foo\n\n2. bar └─ list_item 1. foo\n\n2. bar └─ regular_list_item 1. foo\n\n2. bar ├─ list_marker 1. └─ list_item_content foo\n\n2. bar
Example 361
✅ PASSED
Rule: document
1. foo\n\n continued
document 1. foo\n\n continued └─ block 1. foo\n\n continued └─ list 1. foo\n\n continued └─ list_item 1. foo\n\n continued └─ regular_list_item 1. foo\n\n continued ├─ list_marker 1. └─ list_item_content foo\n\n continued
Example 362
✅ PASSED
Rule: document
1. foo\nbar
document 1. foo\nbar └─ block 1. foo\nbar └─ list 1. foo\nbar └─ list_item 1. foo\nbar └─ regular_list_item 1. foo\nbar ├─ list_marker 1. └─ list_item_content foo\nbar
Example 363
✅ PASSED
Rule: document
#foo
document #foo └─ block #foo └─ heading #foo └─ H1 #foo └─ heading_content foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo
Example 364
✅ PASSED
Rule: document
# foo
document # foo └─ block # foo └─ heading # foo └─ H1 # foo └─ heading_content foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo
Example 365
✅ PASSED
Rule: document
# foo #
document # foo # └─ block # foo # └─ heading # foo # └─ H1 # foo # └─ heading_content foo # └─ inline foo # └─ inline_core foo # └─ text foo # └─ word foo
Example 366
✅ PASSED
Rule: document
# foo ###
document # foo ### └─ block # foo ### └─ heading # foo ### └─ H1 # foo ### └─ heading_content foo ### └─ inline foo ### └─ inline_core foo ### └─ text foo ### └─ word foo
Example 367
✅ PASSED
Rule: document
#
document # └─ block # └─ paragraph # └─ paragraph_line # └─ inline # └─ inline_core # └─ text #
Example 368
✅ PASSED
Rule: document
######
document ###### └─ block ###### └─ heading ###### └─ H5 ###### └─ heading_content # └─ inline # └─ inline_core # └─ text #
Example 369
✅ PASSED
Rule: document
\n====
document \n==== └─ block \n==== └─ unknown_block \n====
Example 370
✅ PASSED
Rule: document
foo\n ===
document foo\n === ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n === └─ unknown_block \n ===
Example 371
✅ PASSED
Rule: document
foo\n======
document foo\n====== ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n====== └─ unknown_block \n======
Comprehensive Marco Grammar Tests - Benchmark Tests 10/10 passed
Example 512
✅ PASSED
Rule: document
Simple text with no formatting
document Simple text with no formatting └─ block Simple text with no formatting └─ paragraph Simple text with no formatting └─ paragraph_line Simple text with no formatting └─ inline Simple text with no formatting └─ inline_core Simple text with no formatting └─ text Simple text with no formatting ├─ word Simple ├─ word text ├─ word with ├─ word no └─ word formatting
Example 513
✅ PASSED
Rule: document
**Bold** *italic* `code` ~~strike~~ ==highlight== ^super^ ˅sub˅
document **Bold** *italic* `code` ~~strike~~ ==highlight== ^super^ ˅sub˅ └─ block **Bold** *italic* `code` ~~strike~~ ==highlight== ^super^ ˅sub˅ └─ paragraph **Bold** *italic* `code` ~~strike~~ ==highlight== ^super^ ˅sub˅ └─ paragraph_line **Bold** *italic* `code` ~~strike~~ ==highlight== ^super^ ˅sub˅ ├─ inline **Bold** └─ inline_core **Bold** └─ emphasis **Bold** └─ bold **Bold** └─ bold_asterisk **Bold** ├─ inline *italic* └─ inline_core *italic* └─ emphasis *italic* └─ italic *italic* └─ italic_asterisk *italic* ├─ inline `code` └─ inline_core `code` └─ code_inline `code` ├─ inline ~~strike~~ └─ inline_core ~~strike~~ └─ strikethrough ~~strike~~ └─ strikethrough_tilde ~~strike~~ ├─ inline ==highlight== └─ inline_core ==highlight== └─ highlight ==highlight== ├─ inline ^super^ └─ inline_core ^super^ └─ superscript ^super^ └─ inline ˅sub˅ └─ inline_core ˅sub˅ └─ subscript ˅sub˅ └─ subscript_arrow ˅sub˅
Example 514
✅ PASSED
Rule: document
> Quote with **bold** and *italic*\n> \n> Another line
document > Quote with **bold** and *italic*\n> \n> Another line ├─ block > Quote with **bold** and *italic* └─ blockquote > Quote with **bold** and *italic* └─ blockquote_line > Quote with **bold** and *italic* ├─ inline Quote with └─ inline_core Quote with └─ text Quote with ├─ word Quote └─ word with ├─ inline **bold** └─ inline_core **bold** └─ emphasis **bold** └─ bold **bold** └─ bold_asterisk **bold** ├─ inline and └─ inline_core and └─ text and └─ word and └─ inline *italic* └─ inline_core *italic* └─ emphasis *italic* └─ italic *italic* └─ italic_asterisk *italic* └─ block \n> \n> Another line └─ unknown_block \n> \n> Another line
Example 515
✅ PASSED
Rule: document
This is a very long paragraph that tests parsing performance with lots of text content that should be parsed efficiently without creating excessive memory allocations or taking too long to process even when the content is quite extensive and contains various types of formatting.
document This is a very long paragraph that tests parsing performance with lots of text content that should be parsed efficiently without creating excessive memory allocations or taking too long to process even when the content is quite extensive and contains various types of formatting. └─ block This is a very long paragraph that tests parsing performance with lots of text content that should be parsed efficiently without creating excessive memory allocations or taking too long to process even when the content is quite extensive and contains various types of formatting. └─ paragraph This is a very long paragraph that tests parsing performance with lots of text content that should be parsed efficiently without creating excessive memory allocations or taking too long to process even when the content is quite extensive and contains various types of formatting. └─ paragraph_line This is a very long paragraph that tests parsing performance with lots of text content that should be parsed efficiently without creating excessive memory allocations or taking too long to process even when the content is quite extensive and contains various types of formatting. └─ inline This is a very long paragraph that tests parsing performance with lots of text content that should be parsed efficiently without creating excessive memory allocations or taking too long to process even when the content is quite extensive and contains various types of formatting. └─ inline_core This is a very long paragraph that tests parsing performance with lots of text content that should be parsed efficiently without creating excessive memory allocations or taking too long to process even when the content is quite extensive and contains various types of formatting. └─ text This is a very long paragraph that tests parsing performance with lots of text content that should be parsed efficiently without creating excessive memory allocations or taking too long to process even when the content is quite extensive and contains various types of formatting. ├─ word This ├─ word is ├─ word a ├─ word very ├─ word long ├─ word paragraph ├─ word that ├─ word tests ├─ word parsing ├─ word performance ├─ word with ├─ word lots ├─ word of ├─ word text ├─ word content ├─ word that ├─ word should ├─ word be ├─ word parsed ├─ word efficiently ├─ word without ├─ word creating ├─ word excessive ├─ word memory ├─ word allocations ├─ word or ├─ word taking ├─ word too ├─ word long ├─ word to ├─ word process ├─ word even ├─ word when ├─ word the ├─ word content ├─ word is ├─ word quite ├─ word extensive ├─ word and ├─ word contains ├─ word various ├─ word types ├─ word of ├─ word formatting └─ safe_punct .
Example 516
✅ PASSED
Rule: document
# Project Title\n\n[![Build Status](badge.svg)](link)\n\n## Description\n\nThis project does amazing things.\n\n### Installation\n\n```bash\nnpm install\n```\n\n### Usage\n\n```javascript\nconst lib = require('lib');\n```
document # Project Title\n\n[![Build Status](badge.svg)](link)\n\n## Description\n\nThis project does amazing things.\n\n### Installation\n\n```bash\nnpm install\n```\n\n### Usage\n\n```javascript\nconst lib = require('lib');\n``` ├─ block # Project Title └─ heading # Project Title └─ H1 # Project Title └─ heading_content Project Title └─ inline Project Title └─ inline_core Project Title └─ text Project Title ├─ word Project └─ word Title └─ block \n\n[![Build Status](badge.svg)](link)\n\n## Description\n\nThis project does amazing things.\n\n### Installation\n\n```bash\nnpm install\n```\n\n### Usage\n\n```javascript\nconst lib = require('lib');\n``` └─ unknown_block \n\n[![Build Status](badge.svg)](link)\n\n## Description\n\nThis project does amazing things.\n\n### Installation\n\n```bash\nnpm install\n```\n\n### Usage\n\n```javascript\nconst lib = require('lib');\n```
Example 517
✅ PASSED
Rule: document
# Abstract\n\nThis paper presents novel findings[^1].\n\n## Introduction\n\nAccording to Smith et al. (2023), this is important.\n\n## Methodology\n\nWe used the following approach:\n\n1. Data collection\n2. Analysis\n3. Validation\n\n[^1]: Important reference here
document # Abstract\n\nThis paper presents novel findings[^1].\n\n## Introduction\n\nAccording to Smith et al. (2023), this is important.\n\n## Methodology\n\nWe used the following approach:\n\n1. Data collection\n2. Analysis\n3. Validation\n\n[^1]: Important reference here ├─ block # Abstract └─ heading # Abstract └─ H1 # Abstract └─ heading_content Abstract └─ inline Abstract └─ inline_core Abstract └─ text Abstract └─ word Abstract └─ block \n\nThis paper presents novel findings[^1].\n\n## Introduction\n\nAccording to Smith et al. (2023), this is important.\n\n## Methodology\n\nWe used the following approach:\n\n1. Data collection\n2. Analysis\n3. Validation\n\n[^1]: Important reference here └─ unknown_block \n\nThis paper presents novel findings[^1].\n\n## Introduction\n\nAccording to Smith et al. (2023), this is important.\n\n## Methodology\n\nWe used the following approach:\n\n1. Data collection\n2. Analysis\n3. Validation\n\n[^1]: Important reference here
Example 518
✅ PASSED
Rule: document
`code1` `code2` `code3` `code4` `code5` `code6` `code7` `code8` `code9` `code10`
document `code1` `code2` `code3` `code4` `code5` `code6` `code7` `code8` `code9` `code10` └─ block `code1` `code2` `code3` `code4` `code5` `code6` `code7` `code8` `code9` `code10` └─ paragraph `code1` `code2` `code3` `code4` `code5` `code6` `code7` `code8` `code9` `code10` └─ paragraph_line `code1` `code2` `code3` `code4` `code5` `code6` `code7` `code8` `code9` `code10` ├─ inline `code1` └─ inline_core `code1` └─ code_inline `code1` ├─ inline `code2` └─ inline_core `code2` └─ code_inline `code2` ├─ inline `code3` └─ inline_core `code3` └─ code_inline `code3` ├─ inline `code4` └─ inline_core `code4` └─ code_inline `code4` ├─ inline `code5` └─ inline_core `code5` └─ code_inline `code5` ├─ inline `code6` └─ inline_core `code6` └─ code_inline `code6` ├─ inline `code7` └─ inline_core `code7` └─ code_inline `code7` ├─ inline `code8` └─ inline_core `code8` └─ code_inline `code8` ├─ inline `code9` └─ inline_core `code9` └─ code_inline `code9` └─ inline `code10` └─ inline_core `code10` └─ code_inline `code10`
Example 519
✅ PASSED
Rule: document
```\nvery long code block with lots of content\nthat spans multiple lines and contains\nvarious programming constructs and\nother text that needs to be parsed\nefficiently by the parser\n```
document ```\nvery long code block with lots of content\nthat spans multiple lines and contains\nvarious programming constructs and\nother text that needs to be parsed\nefficiently by the parser\n``` └─ block ```\nvery long code block with lots of content\nthat spans multiple lines and contains\nvarious programming constructs and\nother text that needs to be parsed\nefficiently by the parser\n``` └─ unknown_block ```\nvery long code block with lots of content\nthat spans multiple lines and contains\nvarious programming constructs and\nother text that needs to be parsed\nefficiently by the parser\n```
Example 520
✅ PASSED
Rule: document
**bold1** **bold2** **bold3** **bold4** **bold5** **bold6** **bold7** **bold8**
document **bold1** **bold2** **bold3** **bold4** **bold5** **bold6** **bold7** **bold8** └─ block **bold1** **bold2** **bold3** **bold4** **bold5** **bold6** **bold7** **bold8** └─ paragraph **bold1** **bold2** **bold3** **bold4** **bold5** **bold6** **bold7** **bold8** └─ paragraph_line **bold1** **bold2** **bold3** **bold4** **bold5** **bold6** **bold7** **bold8** ├─ inline **bold1** └─ inline_core **bold1** └─ emphasis **bold1** └─ bold **bold1** └─ bold_asterisk **bold1** ├─ inline **bold2** └─ inline_core **bold2** └─ emphasis **bold2** └─ bold **bold2** └─ bold_asterisk **bold2** ├─ inline **bold3** └─ inline_core **bold3** └─ emphasis **bold3** └─ bold **bold3** └─ bold_asterisk **bold3** ├─ inline **bold4** └─ inline_core **bold4** └─ emphasis **bold4** └─ bold **bold4** └─ bold_asterisk **bold4** ├─ inline **bold5** └─ inline_core **bold5** └─ emphasis **bold5** └─ bold **bold5** └─ bold_asterisk **bold5** ├─ inline **bold6** └─ inline_core **bold6** └─ emphasis **bold6** └─ bold **bold6** └─ bold_asterisk **bold6** ├─ inline **bold7** └─ inline_core **bold7** └─ emphasis **bold7** └─ bold **bold7** └─ bold_asterisk **bold7** └─ inline **bold8** └─ inline_core **bold8** └─ emphasis **bold8** └─ bold **bold8** └─ bold_asterisk **bold8**
Example 521
✅ PASSED
Rule: document
**bold *italic `code` italic* bold**
document **bold *italic `code` italic* bold** └─ block **bold *italic `code` italic* bold** └─ paragraph **bold *italic `code` italic* bold** └─ paragraph_line **bold *italic `code` italic* bold** └─ inline **bold *italic `code` italic* bold** └─ inline_core **bold *italic `code` italic* bold** └─ emphasis **bold *italic `code` italic* bold** └─ bold **bold *italic `code` italic* bold** └─ bold_asterisk **bold *italic `code` italic* bold**
Comprehensive Marco Grammar Tests - Commonmark Backslash Escapes 13/14 passed
Example 1187
✅ PASSED
Rule: document
\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\-\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\\\\\]\\^\\_\\`\\{\\|\\}\\~\n
document \\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\-\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\\\\\]\\^\\_\\`\\{\\|\\}\\~\n ├─ block \\!\\ └─ paragraph \\!\\ └─ paragraph_line \\!\\ ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline ! └─ inline_core ! └─ text ! └─ safe_punct ! └─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ block \"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\-\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\\\\\]\\^\\_\\`\\{\\|\\}\\~\n └─ unknown_block \"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\-\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\\\\\]\\^\\_\\`\\{\\|\\}\\~\n
Example 1188
✅ PASSED
Rule: document
\\\t\\A\\a\\ \\3\\φ\\«\n
document \\\t\\A\\a\\ \\3\\φ\\«\n ├─ block \\ └─ paragraph \\ └─ paragraph_line \\ └─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ block \t\\A\\a\\ \\3\\φ\\«\n └─ unknown_block \t\\A\\a\\ \\3\\φ\\«\n
Example 1189
✅ PASSED
Rule: document
\\*not emphasized*\n\\<br/> not a tag\n\\[not a link](/foo)\n\\`not code`\n1\\. not a list\n\\* not a list\n\\# not a heading\n\\[foo]: /url \"not a reference\"\n\\ö not a character entity\n
document \\*not emphasized*\n\\<br/> not a tag\n\\[not a link](/foo)\n\\`not code`\n1\\. not a list\n\\* not a list\n\\# not a heading\n\\[foo]: /url \"not a reference\"\n\\&ouml; not a character entity\n ├─ block \\*not emphasized* └─ paragraph \\*not emphasized* └─ paragraph_line \\*not emphasized* ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline *not emphasized* └─ inline_core *not emphasized* └─ emphasis *not emphasized* └─ italic *not emphasized* └─ italic_asterisk *not emphasized* └─ block \n\\<br/> not a tag\n\\[not a link](/foo)\n\\`not code`\n1\\. not a list\n\\* not a list\n\\# not a heading\n\\[foo]: /url \"not a reference\"\n\\&ouml; not a character entity\n └─ unknown_block \n\\<br/> not a tag\n\\[not a link](/foo)\n\\`not code`\n1\\. not a list\n\\* not a list\n\\# not a heading\n\\[foo]: /url \"not a reference\"\n\\&ouml; not a character entity\n
Example 1190
✅ PASSED
Rule: document
\\\\*emphasis*\n
document \\\\*emphasis*\n ├─ block \\\\*emphasis* └─ paragraph \\\\*emphasis* └─ paragraph_line \\\\*emphasis* ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline *emphasis* └─ inline_core *emphasis* └─ emphasis *emphasis* └─ italic *emphasis* └─ italic_asterisk *emphasis* └─ block \n └─ unknown_block \n
Example 1191
✅ PASSED
Rule: document
foo\\\nbar\n
document foo\\\nbar\n ├─ block foo\\ └─ paragraph foo\\ └─ paragraph_line foo\\ ├─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ block \nbar\n └─ unknown_block \nbar\n
Example 1192
✅ PASSED
Rule: document
`` \\[\\` ``\n
document `` \\[\\` ``\n ├─ block `` \\[\\` `` └─ paragraph `` \\[\\` `` └─ paragraph_line `` \\[\\` `` ├─ inline ` └─ inline_core ` └─ text ` ├─ inline ` \\[\\` └─ inline_core ` \\[\\` └─ code_inline ` \\[\\` └─ inline `` └─ inline_core `` └─ text `` └─ block \n └─ unknown_block \n
Example 1193
✅ PASSED
Rule: document
\\[\\]\n
document \\[\\]\n ├─ block \\[\\] └─ paragraph \\[\\] └─ paragraph_line \\[\\] ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline [ └─ inline_core [ └─ text [ ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline ] └─ inline_core ] └─ text ] └─ block \n └─ unknown_block \n
Example 1194
✅ PASSED
Rule: document
~~~\n\\[\\]\n~~~\n
document ~~~\n\\[\\]\n~~~\n ├─ block ~~~\n\\[\\]\n~~ └─ paragraph ~~~\n\\[\\]\n~~ └─ paragraph_line ~~~\n\\[\\]\n~~ └─ inline ~~~\n\\[\\]\n~~ └─ inline_core ~~~\n\\[\\]\n~~ └─ strikethrough ~~~\n\\[\\]\n~~ └─ strikethrough_tilde ~~~\n\\[\\]\n~~ └─ block ~\n └─ unknown_block ~\n
Example 1195
✅ PASSED
Rule: document
<http://example.com?find=\\*>\n
document <http://example.com?find=\\*>\n ├─ block <http://example.com?find=\\*> └─ block_html <http://example.com?find=\\*> └─ block \n └─ unknown_block \n
Example 1196
✅ PASSED
Rule: document
<a href=\"/bar\\/)\">\n
document <a href=\"/bar\\/)\">\n ├─ block <a href=\"/bar\\/)\"> └─ block_html <a href=\"/bar\\/)\"> └─ block \n └─ unknown_block \n
Example 1197
✅ PASSED
Rule: document
[foo](/bar\\* \"ti\\*tle\")\n
document [foo](/bar\\* \"ti\\*tle\")\n ├─ block [foo](/bar\\* \"ti\\*tle\") └─ paragraph [foo](/bar\\* \"ti\\*tle\") └─ paragraph_line [foo](/bar\\* \"ti\\*tle\") └─ inline [foo](/bar\\* \"ti\\*tle\") └─ inline_core [foo](/bar\\* \"ti\\*tle\") └─ inline_link [foo](/bar\\* \"ti\\*tle\") └─ bracket_link_without_title [foo](/bar\\* \"ti\\*tle\") └─ block \n └─ unknown_block \n
Example 1198
✅ PASSED
Rule: document
[foo]\n\n[foo]: /bar\\* \"ti\\*tle\"\n
document [foo]\n\n[foo]: /bar\\* \"ti\\*tle\"\n ├─ block [foo] └─ paragraph [foo] └─ paragraph_line [foo] └─ inline [foo] └─ inline_core [foo] └─ text [foo] └─ word foo └─ block \n\n[foo]: /bar\\* \"ti\\*tle\"\n └─ unknown_block \n\n[foo]: /bar\\* \"ti\\*tle\"\n
Example 1199
✅ PASSED
Rule: text
``` foo\\+bar\nfoo\n```\n
text ``` foo └─ start_line_formatting ``` foo
Example 1205
❓ UNKNOWN
Rule: Header
####### hello
Unknown rule
Comprehensive Marco Grammar Tests - Code spans 8/8 passed
Example 73
✅ PASSED
Rule: document
`code`
document `code` └─ block `code` └─ paragraph `code` └─ paragraph_line `code` └─ inline `code` └─ inline_core `code` └─ code_inline `code`
Example 74
✅ PASSED
Rule: document
`some code here`
document `some code here` └─ block `some code here` └─ paragraph `some code here` └─ paragraph_line `some code here` └─ inline `some code here` └─ inline_core `some code here` └─ code_inline `some code here`
Example 75
✅ PASSED
Rule: document
``
document `` └─ block `` └─ paragraph `` └─ paragraph_line `` └─ inline `` └─ inline_core `` └─ text ``
Example 76
✅ PASSED
Rule: document
`hello, world!`
document `hello, world!` └─ block `hello, world!` └─ paragraph `hello, world!` └─ paragraph_line `hello, world!` └─ inline `hello, world!` └─ inline_core `hello, world!` └─ code_inline `hello, world!`
Example 77
✅ PASSED
Rule: document
`code with \\` backtick`
document `code with \\` backtick` └─ block `code with \\` backtick` └─ paragraph `code with \\` backtick` └─ paragraph_line `code with \\` backtick` ├─ inline `code with \\` └─ inline_core `code with \\` └─ code_inline `code with \\` └─ inline backtick` └─ inline_core backtick` └─ text backtick` └─ word backtick
Example 78
✅ PASSED
Rule: document
`code\nwith newline`
document `code\nwith newline` └─ block `code\nwith newline` └─ paragraph `code\nwith newline` └─ paragraph_line `code\nwith newline` └─ inline `code\nwith newline` └─ inline_core `code\nwith newline` └─ code_inline `code\nwith newline`
Example 79
✅ PASSED
Rule: document
Use `print()` function
document Use `print()` function └─ block Use `print()` function └─ paragraph Use `print()` function └─ paragraph_line Use `print()` function ├─ inline Use └─ inline_core Use └─ text Use └─ word Use ├─ inline `print()` └─ inline_core `print()` └─ code_inline `print()` └─ inline function └─ inline_core function └─ text function └─ word function
Example 80
✅ PASSED
Rule: document
`first` and `second` code
document `first` and `second` code └─ block `first` and `second` code └─ paragraph `first` and `second` code └─ paragraph_line `first` and `second` code ├─ inline `first` └─ inline_core `first` └─ code_inline `first` ├─ inline and └─ inline_core and └─ text and └─ word and ├─ inline `second` └─ inline_core `second` └─ code_inline `second` └─ inline code └─ inline_core code └─ text code └─ word code
Comprehensive Marco Grammar Tests - Error Recovery 11/11 passed
Example 533
✅ PASSED
Rule: document
**bold but not closed and more text
document **bold but not closed and more text └─ block **bold but not closed and more text └─ paragraph **bold but not closed and more text └─ paragraph_line **bold but not closed and more text └─ inline **bold but not closed and more text └─ inline_core **bold but not closed and more text └─ emphasis **bold but not closed and more text └─ bold **bold but not closed and more text └─ bold_asterisk **bold but not closed and more text
Example 534
✅ PASSED
Rule: document
[link text but no closing and more text
document [link text but no closing and more text └─ block [link text but no closing and more text └─ paragraph [link text but no closing and more text └─ paragraph_line [link text but no closing and more text └─ inline [link text but no closing and more text └─ inline_core [link text but no closing and more text └─ text [link text but no closing and more text ├─ word link ├─ word text ├─ word but ├─ word no ├─ word closing ├─ word and ├─ word more └─ word text
Example 535
✅ PASSED
Rule: document
**bold _italic* underscore__
document **bold _italic* underscore__ └─ block **bold _italic* underscore__ └─ paragraph **bold _italic* underscore__ └─ paragraph_line **bold _italic* underscore__ └─ inline **bold _italic* underscore__ └─ inline_core **bold _italic* underscore__ └─ emphasis **bold _italic* underscore__ └─ bold **bold _italic* underscore__ └─ bold_asterisk **bold _italic* underscore__
Example 536
✅ PASSED
Rule: document
| A | B |\n|---|\n| 1 | 2 | 3 |
document | A | B |\n|---|\n| 1 | 2 | 3 | └─ block | A | B |\n|---|\n| 1 | 2 | 3 | └─ unknown_block | A | B |\n|---|\n| 1 | 2 | 3 |
Example 537
✅ PASSED
Rule: document
```unknown_lang\ncode content\n```
document ```unknown_lang\ncode content\n``` └─ block ```unknown_lang\ncode content\n``` └─ unknown_block ```unknown_lang\ncode content\n```
Example 538
✅ PASSED
Rule: document
:::\ncustom_type\ncontent\n:::
document :::\ncustom_type\ncontent\n::: └─ block :::\ncustom_type\ncontent\n::: └─ unknown_block :::\ncustom_type\ncontent\n:::
Example 539
✅ PASSED
Rule: document
[invalid:syntax](no closing
document [invalid:syntax](no closing └─ block [invalid:syntax](no closing └─ paragraph [invalid:syntax](no closing └─ paragraph_line [invalid:syntax](no closing └─ inline [invalid:syntax](no closing └─ inline_core [invalid:syntax](no closing └─ text [invalid:syntax](no closing ├─ word invalid ├─ safe_punct : ├─ word syntax ├─ safe_punct ( ├─ word no └─ word closing
Example 540
✅ PASSED
Rule: document
``
document `` └─ block `` └─ paragraph `` └─ paragraph_line `` └─ inline `` └─ inline_core `` └─ text ``
Example 541
✅ PASSED
Rule: document
****
document **** └─ block **** └─ hr **** └─ hr_star ****
Example 542
✅ PASSED
Rule: document
[](url)
document [](url) └─ block [](url) └─ paragraph [](url) └─ paragraph_line [](url) └─ inline [](url) └─ inline_core [](url) └─ inline_link [](url) └─ bracket_link_without_title [](url)
Example 543
✅ PASSED
Rule: document
![](image.png)
document ![](image.png) └─ block ![](image.png) └─ paragraph ![](image.png) └─ paragraph_line ![](image.png) └─ inline ![](image.png) └─ inline_core ![](image.png) └─ inline_image ![](image.png) ├─ inline_link_text └─ link_url image.png
Comprehensive Marco Grammar Tests - Commonmark Tabs 11/11 passed
Example 572
✅ PASSED
Rule: document
\tfoo\tbaz\t\tbim\n
document \tfoo\tbaz\t\tbim\n └─ block \tfoo\tbaz\t\tbim\n └─ unknown_block \tfoo\tbaz\t\tbim\n
Example 573
✅ PASSED
Rule: document
\tfoo\tbaz\t\tbim\n
document \tfoo\tbaz\t\tbim\n └─ block \tfoo\tbaz\t\tbim\n └─ unknown_block \tfoo\tbaz\t\tbim\n
Example 574
✅ PASSED
Rule: document
a\ta\n ὐ\ta\n
document a\ta\n ὐ\ta\n ├─ block a └─ paragraph a └─ paragraph_line a └─ inline a └─ inline_core a └─ text a └─ word a └─ block \ta\n ὐ\ta\n └─ unknown_block \ta\n ὐ\ta\n
Example 575
✅ PASSED
Rule: document
- foo\n\n\tbar\n
document - foo\n\n\tbar\n └─ block - foo\n\n\tbar\n └─ list - foo\n\n\tbar\n └─ list_item - foo\n\n\tbar\n └─ regular_list_item - foo\n\n\tbar\n ├─ list_marker - └─ list_item_content foo\n\n\tbar\n
Example 576
✅ PASSED
Rule: document
- foo\n\n\t\tbar\n
document - foo\n\n\t\tbar\n └─ block - foo\n\n\t\tbar\n └─ list - foo\n\n\t\tbar\n └─ list_item - foo\n\n\t\tbar\n └─ regular_list_item - foo\n\n\t\tbar\n ├─ list_marker - └─ list_item_content foo\n\n\t\tbar\n
Example 577
✅ PASSED
Rule: document
>\t\tfoo\n
document >\t\tfoo\n ├─ block > └─ blockquote > └─ blockquote_line > └─ block \t\tfoo\n └─ unknown_block \t\tfoo\n
Example 578
✅ PASSED
Rule: document
-\t\tfoo\n
document -\t\tfoo\n ├─ block - └─ paragraph - └─ paragraph_line - └─ inline - └─ inline_core - └─ text - └─ block \t\tfoo\n └─ unknown_block \t\tfoo\n
Example 579
✅ PASSED
Rule: document
foo\n\tbar\n
document foo\n\tbar\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n\tbar\n └─ unknown_block \n\tbar\n
Example 580
✅ PASSED
Rule: document
- foo\n - bar\n\t - baz\n
document - foo\n - bar\n\t - baz\n └─ block - foo\n - bar\n\t - baz\n └─ list - foo\n - bar\n\t - baz\n └─ list_item - foo\n - bar\n\t - baz\n └─ regular_list_item - foo\n - bar\n\t - baz\n ├─ list_marker - └─ list_item_content foo\n - bar\n\t - baz\n
Example 581
✅ PASSED
Rule: document
#\tFoo\n
document #\tFoo\n ├─ block # └─ paragraph # └─ paragraph_line # └─ inline # └─ inline_core # └─ text # └─ block \tFoo\n └─ unknown_block \tFoo\n
Example 582
✅ PASSED
Rule: document
*\t*\t*\t\n
document *\t*\t*\t\n ├─ block *\t* └─ paragraph *\t* └─ paragraph_line *\t* └─ inline *\t* └─ inline_core *\t* └─ emphasis *\t* └─ italic *\t* └─ italic_asterisk *\t* └─ block \t*\t\n └─ unknown_block \t*\t\n
Comprehensive Marco Grammar Tests - Commonmark Setext Headings 27/27 passed
Example 692
✅ PASSED
Rule: document
Foo *bar*\n=========\n\nFoo *bar*\n---------\n
document Foo *bar*\n=========\n\nFoo *bar*\n---------\n ├─ block Foo *bar* └─ paragraph Foo *bar* └─ paragraph_line Foo *bar* ├─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ block \n=========\n\nFoo *bar*\n---------\n └─ unknown_block \n=========\n\nFoo *bar*\n---------\n
Example 693
✅ PASSED
Rule: document
Foo *bar\nbaz*\n====\n
document Foo *bar\nbaz*\n====\n ├─ block Foo *bar\nbaz* └─ paragraph Foo *bar\nbaz* └─ paragraph_line Foo *bar\nbaz* ├─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ inline *bar\nbaz* └─ inline_core *bar\nbaz* └─ emphasis *bar\nbaz* └─ italic *bar\nbaz* └─ italic_asterisk *bar\nbaz* └─ block \n====\n └─ unknown_block \n====\n
Example 694
✅ PASSED
Rule: document
Foo *bar\nbaz*\t\n====\n
document Foo *bar\nbaz*\t\n====\n ├─ block Foo *bar\nbaz* └─ paragraph Foo *bar\nbaz* └─ paragraph_line Foo *bar\nbaz* ├─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ inline *bar\nbaz* └─ inline_core *bar\nbaz* └─ emphasis *bar\nbaz* └─ italic *bar\nbaz* └─ italic_asterisk *bar\nbaz* └─ block \t\n====\n └─ unknown_block \t\n====\n
Example 695
✅ PASSED
Rule: document
Foo\n-------------------------\n\nFoo\n=\n
document Foo\n-------------------------\n\nFoo\n=\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n-------------------------\n\nFoo\n=\n └─ unknown_block \n-------------------------\n\nFoo\n=\n
Example 696
✅ PASSED
Rule: document
Foo\n---\n\n Foo\n-----\n\n Foo\n ===\n
document Foo\n---\n\n Foo\n-----\n\n Foo\n ===\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n---\n\n Foo\n-----\n\n Foo\n ===\n └─ unknown_block \n---\n\n Foo\n-----\n\n Foo\n ===\n
Example 697
✅ PASSED
Rule: document
Foo\n ---\n\n Foo\n---\n
document Foo\n ---\n\n Foo\n---\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n ---\n\n Foo\n---\n └─ unknown_block \n ---\n\n Foo\n---\n
Example 698
✅ PASSED
Rule: document
Foo\n ---- \n
document Foo\n ---- \n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n ---- \n └─ unknown_block \n ---- \n
Example 699
✅ PASSED
Rule: document
Foo\n ---\n
document Foo\n ---\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n ---\n └─ unknown_block \n ---\n
Example 700
✅ PASSED
Rule: document
Foo\n= =\n\nFoo\n--- -\n
document Foo\n= =\n\nFoo\n--- -\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n= =\n\nFoo\n--- -\n └─ unknown_block \n= =\n\nFoo\n--- -\n
Example 701
✅ PASSED
Rule: document
Foo \n-----\n
document Foo \n-----\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n-----\n └─ unknown_block \n-----\n
Example 702
✅ PASSED
Rule: document
Foo\\\n----\n
document Foo\\\n----\n ├─ block Foo\\ └─ paragraph Foo\\ └─ paragraph_line Foo\\ ├─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ block \n----\n └─ unknown_block \n----\n
Example 703
✅ PASSED
Rule: document
`Foo\n----\n`\n\n<a title=\"a lot\n---\nof dashes\"/>\n
document `Foo\n----\n`\n\n<a title=\"a lot\n---\nof dashes\"/>\n ├─ block `Foo\n----\n` └─ paragraph `Foo\n----\n` └─ paragraph_line `Foo\n----\n` └─ inline `Foo\n----\n` └─ inline_core `Foo\n----\n` └─ code_inline `Foo\n----\n` └─ block \n\n<a title=\"a lot\n---\nof dashes\"/>\n └─ unknown_block \n\n<a title=\"a lot\n---\nof dashes\"/>\n
Example 704
✅ PASSED
Rule: document
> Foo\n---\n
document > Foo\n---\n ├─ block > Foo └─ blockquote > Foo └─ blockquote_line > Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n---\n └─ unknown_block \n---\n
Example 705
✅ PASSED
Rule: document
> foo\nbar\n===\n
document > foo\nbar\n===\n ├─ block > foo └─ blockquote > foo └─ blockquote_line > foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \nbar\n===\n └─ unknown_block \nbar\n===\n
Example 706
✅ PASSED
Rule: document
- Foo\n---\n
document - Foo\n---\n └─ block - Foo\n---\n └─ list - Foo\n---\n └─ list_item - Foo\n---\n └─ regular_list_item - Foo\n---\n ├─ list_marker - └─ list_item_content Foo\n---\n
Example 707
✅ PASSED
Rule: document
Foo\nBar\n---\n
document Foo\nBar\n---\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \nBar\n---\n └─ unknown_block \nBar\n---\n
Example 708
✅ PASSED
Rule: document
---\nFoo\n---\nBar\n---\nBaz\n
document ---\nFoo\n---\nBar\n---\nBaz\n ├─ block --- └─ hr --- └─ hr_dash --- └─ block \nFoo\n---\nBar\n---\nBaz\n └─ unknown_block \nFoo\n---\nBar\n---\nBaz\n
Example 709
✅ PASSED
Rule: document
\n====\n
document \n====\n └─ block \n====\n └─ unknown_block \n====\n
Example 710
✅ PASSED
Rule: document
---\n---\n
document ---\n---\n ├─ block --- └─ hr --- └─ hr_dash --- └─ block \n---\n └─ unknown_block \n---\n
Example 711
✅ PASSED
Rule: document
- foo\n-----\n
document - foo\n-----\n └─ block - foo\n-----\n └─ list - foo\n-----\n └─ list_item - foo\n-----\n └─ regular_list_item - foo\n-----\n ├─ list_marker - └─ list_item_content foo\n-----\n
Example 712
✅ PASSED
Rule: document
foo\n---\n
document foo\n---\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n---\n └─ unknown_block \n---\n
Example 713
✅ PASSED
Rule: document
> foo\n-----\n
document > foo\n-----\n ├─ block > foo └─ blockquote > foo └─ blockquote_line > foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n-----\n └─ unknown_block \n-----\n
Example 714
✅ PASSED
Rule: document
\\> foo\n------\n
document \\> foo\n------\n ├─ block \\> foo └─ paragraph \\> foo └─ paragraph_line \\> foo ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline > foo └─ inline_core > foo └─ text > foo └─ word foo └─ block \n------\n └─ unknown_block \n------\n
Example 715
✅ PASSED
Rule: document
Foo\n\nbar\n---\nbaz\n
document Foo\n\nbar\n---\nbaz\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n\nbar\n---\nbaz\n └─ unknown_block \n\nbar\n---\nbaz\n
Example 716
✅ PASSED
Rule: document
Foo\nbar\n\n---\n\nbaz\n
document Foo\nbar\n\n---\n\nbaz\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \nbar\n\n---\n\nbaz\n └─ unknown_block \nbar\n\n---\n\nbaz\n
Example 717
✅ PASSED
Rule: document
Foo\nbar\n* * *\nbaz\n
document Foo\nbar\n* * *\nbaz\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \nbar\n* * *\nbaz\n └─ unknown_block \nbar\n* * *\nbaz\n
Example 718
✅ PASSED
Rule: document
Foo\nbar\n\\---\nbaz\n
document Foo\nbar\n\\---\nbaz\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \nbar\n\\---\nbaz\n └─ unknown_block \nbar\n\\---\nbaz\n
Comprehensive Marco Grammar Tests - Commonmark Link Reference Definitions 27/27 passed
Example 1077
✅ PASSED
Rule: document
[foo]: /url \"title\"\n\n[foo]\n
document [foo]: /url \"title\"\n\n[foo]\n ├─ block [foo]: /url └─ paragraph [foo]: /url └─ paragraph_line [foo]: /url └─ inline [foo]: /url └─ inline_core [foo]: /url └─ text [foo]: /url ├─ word foo ├─ safe_punct : ├─ safe_punct / └─ word url └─ block \"title\"\n\n[foo]\n └─ unknown_block \"title\"\n\n[foo]\n
Example 1078
✅ PASSED
Rule: document
[foo]: \n /url \n 'the title' \n\n[foo]\n
document [foo]: \n /url \n 'the title' \n\n[foo]\n ├─ block [foo]: └─ paragraph [foo]: └─ paragraph_line [foo]: └─ inline [foo]: └─ inline_core [foo]: └─ text [foo]: ├─ word foo └─ safe_punct : └─ block \n /url \n 'the title' \n\n[foo]\n └─ unknown_block \n /url \n 'the title' \n\n[foo]\n
Example 1079
✅ PASSED
Rule: document
[Foo*bar\\]]:my_(url) 'title (with parens)'\n\n[Foo*bar\\]]\n
document [Foo*bar\\]]:my_(url) 'title (with parens)'\n\n[Foo*bar\\]]\n ├─ block [Foo*bar\\]]:my_(url) 'title (with parens)'\n\n[Foo*bar\\]] └─ paragraph [Foo*bar\\]]:my_(url) 'title (with parens)'\n\n[Foo*bar\\]] └─ paragraph_line [Foo*bar\\]]:my_(url) 'title (with parens)'\n\n[Foo*bar\\]] ├─ inline [Foo └─ inline_core [Foo └─ text [Foo └─ word Foo ├─ inline *bar\\]]:my_(url) 'title (with parens)'\n\n[Foo* └─ inline_core *bar\\]]:my_(url) 'title (with parens)'\n\n[Foo* └─ emphasis *bar\\]]:my_(url) 'title (with parens)'\n\n[Foo* └─ italic *bar\\]]:my_(url) 'title (with parens)'\n\n[Foo* └─ italic_asterisk *bar\\]]:my_(url) 'title (with parens)'\n\n[Foo* ├─ inline bar └─ inline_core bar └─ text bar └─ word bar ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline ]] └─ inline_core ]] └─ text ]] └─ block \n └─ unknown_block \n
Example 1080
✅ PASSED
Rule: document
[Foo bar]:\n<my url>\n'title'\n\n[Foo bar]\n
document [Foo bar]:\n<my url>\n'title'\n\n[Foo bar]\n ├─ block [Foo bar]: └─ paragraph [Foo bar]: └─ paragraph_line [Foo bar]: └─ inline [Foo bar]: └─ inline_core [Foo bar]: └─ text [Foo bar]: ├─ word Foo ├─ word bar └─ safe_punct : └─ block \n<my url>\n'title'\n\n[Foo bar]\n └─ unknown_block \n<my url>\n'title'\n\n[Foo bar]\n
Example 1081
✅ PASSED
Rule: document
[foo]: /url '\ntitle\nline1\nline2\n'\n\n[foo]\n
document [foo]: /url '\ntitle\nline1\nline2\n'\n\n[foo]\n ├─ block [foo]: /url ' └─ paragraph [foo]: /url ' └─ paragraph_line [foo]: /url ' └─ inline [foo]: /url ' └─ inline_core [foo]: /url ' └─ text [foo]: /url ' ├─ word foo ├─ safe_punct : ├─ safe_punct / ├─ word url └─ safe_punct ' └─ block \ntitle\nline1\nline2\n'\n\n[foo]\n └─ unknown_block \ntitle\nline1\nline2\n'\n\n[foo]\n
Example 1082
✅ PASSED
Rule: document
[foo]: /url 'title\n\nwith blank line'\n\n[foo]\n
document [foo]: /url 'title\n\nwith blank line'\n\n[foo]\n ├─ block [foo]: /url 'title └─ paragraph [foo]: /url 'title └─ paragraph_line [foo]: /url 'title └─ inline [foo]: /url 'title └─ inline_core [foo]: /url 'title └─ text [foo]: /url 'title ├─ word foo ├─ safe_punct : ├─ safe_punct / ├─ word url ├─ safe_punct ' └─ word title └─ block \n\nwith blank line'\n\n[foo]\n └─ unknown_block \n\nwith blank line'\n\n[foo]\n
Example 1083
✅ PASSED
Rule: document
[foo]:\n/url\n\n[foo]\n
document [foo]:\n/url\n\n[foo]\n ├─ block [foo]: └─ paragraph [foo]: └─ paragraph_line [foo]: └─ inline [foo]: └─ inline_core [foo]: └─ text [foo]: ├─ word foo └─ safe_punct : └─ block \n/url\n\n[foo]\n └─ unknown_block \n/url\n\n[foo]\n
Example 1084
✅ PASSED
Rule: document
[foo]:\n\n[foo]\n
document [foo]:\n\n[foo]\n ├─ block [foo]: └─ paragraph [foo]: └─ paragraph_line [foo]: └─ inline [foo]: └─ inline_core [foo]: └─ text [foo]: ├─ word foo └─ safe_punct : └─ block \n\n[foo]\n └─ unknown_block \n\n[foo]\n
Example 1085
✅ PASSED
Rule: document
[foo]: <>\n\n[foo]\n
document [foo]: <>\n\n[foo]\n ├─ block [foo]: <> └─ paragraph [foo]: <> └─ paragraph_line [foo]: <> └─ inline [foo]: <> └─ inline_core [foo]: <> └─ text [foo]: <> ├─ word foo └─ safe_punct : └─ block \n\n[foo]\n └─ unknown_block \n\n[foo]\n
Example 1086
✅ PASSED
Rule: document
[foo]: <bar>(baz)\n\n[foo]\n
document [foo]: <bar>(baz)\n\n[foo]\n ├─ block [foo]: <bar>(baz) └─ paragraph [foo]: <bar>(baz) └─ paragraph_line [foo]: <bar>(baz) └─ inline [foo]: <bar>(baz) └─ inline_core [foo]: <bar>(baz) └─ text [foo]: <bar>(baz) ├─ word foo ├─ safe_punct : ├─ word bar ├─ safe_punct ( ├─ word baz └─ safe_punct ) └─ block \n\n[foo]\n └─ unknown_block \n\n[foo]\n
Example 1087
✅ PASSED
Rule: document
[foo]: /url\\bar\\*baz \"foo\\\"bar\\baz\"\n\n[foo]\n
document [foo]: /url\\bar\\*baz \"foo\\\"bar\\baz\"\n\n[foo]\n └─ block [foo]: /url\\bar\\*baz \"foo\\\"bar\\baz\"\n\n[foo]\n └─ paragraph [foo]: /url\\bar\\*baz \"foo\\\"bar\\baz\"\n\n[foo]\n └─ paragraph_line [foo]: /url\\bar\\*baz \"foo\\\"bar\\baz\"\n\n[foo]\n ├─ inline [foo]: /url └─ inline_core [foo]: /url └─ text [foo]: /url ├─ word foo ├─ safe_punct : ├─ safe_punct / └─ word url ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline bar └─ inline_core bar └─ text bar └─ word bar ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline *baz \"foo\\\"bar\\baz\"\n\n[foo]\n └─ inline_core *baz \"foo\\\"bar\\baz\"\n\n[foo]\n └─ emphasis *baz \"foo\\\"bar\\baz\"\n\n[foo]\n └─ italic *baz \"foo\\\"bar\\baz\"\n\n[foo]\n └─ italic_asterisk *baz \"foo\\\"bar\\baz\"\n\n[foo]\n
Example 1088
✅ PASSED
Rule: document
[foo]\n\n[foo]: url\n
document [foo]\n\n[foo]: url\n ├─ block [foo] └─ paragraph [foo] └─ paragraph_line [foo] └─ inline [foo] └─ inline_core [foo] └─ text [foo] └─ word foo └─ block \n\n[foo]: url\n └─ unknown_block \n\n[foo]: url\n
Example 1089
✅ PASSED
Rule: document
[foo]\n\n[foo]: first\n[foo]: second\n
document [foo]\n\n[foo]: first\n[foo]: second\n ├─ block [foo] └─ paragraph [foo] └─ paragraph_line [foo] └─ inline [foo] └─ inline_core [foo] └─ text [foo] └─ word foo └─ block \n\n[foo]: first\n[foo]: second\n └─ unknown_block \n\n[foo]: first\n[foo]: second\n
Example 1090
✅ PASSED
Rule: document
[FOO]: /url\n\n[Foo]\n
document [FOO]: /url\n\n[Foo]\n ├─ block [FOO]: /url └─ paragraph [FOO]: /url └─ paragraph_line [FOO]: /url └─ inline [FOO]: /url └─ inline_core [FOO]: /url └─ text [FOO]: /url ├─ word FOO ├─ safe_punct : ├─ safe_punct / └─ word url └─ block \n\n[Foo]\n └─ unknown_block \n\n[Foo]\n
Example 1091
✅ PASSED
Rule: document
[ΑΓΩ]: /φου\n\n[αγω]\n
document [ΑΓΩ]: /φου\n\n[αγω]\n ├─ block [ΑΓΩ]: /φου └─ paragraph [ΑΓΩ]: /φου └─ paragraph_line [ΑΓΩ]: /φου └─ inline [ΑΓΩ]: /φου └─ inline_core [ΑΓΩ]: /φου └─ text [ΑΓΩ]: /φου ├─ word ΑΓΩ ├─ safe_punct : ├─ safe_punct / └─ word φου └─ block \n\n[αγω]\n └─ unknown_block \n\n[αγω]\n
Example 1092
✅ PASSED
Rule: document
[foo]: /url\n
document [foo]: /url\n ├─ block [foo]: /url └─ paragraph [foo]: /url └─ paragraph_line [foo]: /url └─ inline [foo]: /url └─ inline_core [foo]: /url └─ text [foo]: /url ├─ word foo ├─ safe_punct : ├─ safe_punct / └─ word url └─ block \n └─ unknown_block \n
Example 1093
✅ PASSED
Rule: document
[\nfoo\n]: /url\nbar\n
document [\nfoo\n]: /url\nbar\n ├─ block [ └─ paragraph [ └─ paragraph_line [ └─ inline [ └─ inline_core [ └─ text [ └─ block \nfoo\n]: /url\nbar\n └─ unknown_block \nfoo\n]: /url\nbar\n
Example 1094
✅ PASSED
Rule: document
[foo]: /url \"title\" ok\n
document [foo]: /url \"title\" ok\n ├─ block [foo]: /url └─ paragraph [foo]: /url └─ paragraph_line [foo]: /url └─ inline [foo]: /url └─ inline_core [foo]: /url └─ text [foo]: /url ├─ word foo ├─ safe_punct : ├─ safe_punct / └─ word url └─ block \"title\" ok\n └─ unknown_block \"title\" ok\n
Example 1095
✅ PASSED
Rule: document
[foo]: /url\n\"title\" ok\n
document [foo]: /url\n\"title\" ok\n ├─ block [foo]: /url └─ paragraph [foo]: /url └─ paragraph_line [foo]: /url └─ inline [foo]: /url └─ inline_core [foo]: /url └─ text [foo]: /url ├─ word foo ├─ safe_punct : ├─ safe_punct / └─ word url └─ block \n\"title\" ok\n └─ unknown_block \n\"title\" ok\n
Example 1096
✅ PASSED
Rule: document
[foo]: /url \"title\"\n\n[foo]\n
document [foo]: /url \"title\"\n\n[foo]\n ├─ block [foo]: /url └─ paragraph [foo]: /url └─ paragraph_line [foo]: /url └─ inline [foo]: /url └─ inline_core [foo]: /url └─ text [foo]: /url ├─ word foo ├─ safe_punct : ├─ safe_punct / └─ word url └─ block \"title\"\n\n[foo]\n └─ unknown_block \"title\"\n\n[foo]\n
Example 1097
✅ PASSED
Rule: document
```\n[foo]: /url\n```\n\n[foo]\n
document ```\n[foo]: /url\n```\n\n[foo]\n └─ block ```\n[foo]: /url\n```\n\n[foo]\n └─ unknown_block ```\n[foo]: /url\n```\n\n[foo]\n
Example 1098
✅ PASSED
Rule: document
Foo\n[bar]: /baz\n\n[bar]\n
document Foo\n[bar]: /baz\n\n[bar]\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n[bar]: /baz\n\n[bar]\n └─ unknown_block \n[bar]: /baz\n\n[bar]\n
Example 1099
✅ PASSED
Rule: document
# [Foo]\n[foo]: /url\n> bar\n
document # [Foo]\n[foo]: /url\n> bar\n ├─ block # [Foo] └─ heading # [Foo] └─ H1 # [Foo] └─ heading_content [Foo] └─ inline [Foo] └─ inline_core [Foo] └─ text [Foo] └─ word Foo └─ block \n[foo]: /url\n> bar\n └─ unknown_block \n[foo]: /url\n> bar\n
Example 1100
✅ PASSED
Rule: document
[foo]: /url\nbar\n===\n[foo]\n
document [foo]: /url\nbar\n===\n[foo]\n ├─ block [foo]: /url └─ paragraph [foo]: /url └─ paragraph_line [foo]: /url └─ inline [foo]: /url └─ inline_core [foo]: /url └─ text [foo]: /url ├─ word foo ├─ safe_punct : ├─ safe_punct / └─ word url └─ block \nbar\n===\n[foo]\n └─ unknown_block \nbar\n===\n[foo]\n
Example 1101
✅ PASSED
Rule: document
[foo]: /url\n===\n[foo]\n
document [foo]: /url\n===\n[foo]\n ├─ block [foo]: /url └─ paragraph [foo]: /url └─ paragraph_line [foo]: /url └─ inline [foo]: /url └─ inline_core [foo]: /url └─ text [foo]: /url ├─ word foo ├─ safe_punct : ├─ safe_punct / └─ word url └─ block \n===\n[foo]\n └─ unknown_block \n===\n[foo]\n
Example 1102
✅ PASSED
Rule: document
[foo]: /foo-url \"foo\"\n[bar]: /bar-url\n \"bar\"\n[baz]: /baz-url\n\n[foo],\n[bar],\n[baz]\n
document [foo]: /foo-url \"foo\"\n[bar]: /bar-url\n \"bar\"\n[baz]: /baz-url\n\n[foo],\n[bar],\n[baz]\n ├─ block [foo]: /foo-url └─ paragraph [foo]: /foo-url └─ paragraph_line [foo]: /foo-url └─ inline [foo]: /foo-url └─ inline_core [foo]: /foo-url └─ text [foo]: /foo-url ├─ word foo ├─ safe_punct : ├─ safe_punct / └─ word foo-url └─ block \"foo\"\n[bar]: /bar-url\n \"bar\"\n[baz]: /baz-url\n\n[foo],\n[bar],\n[baz]\n └─ unknown_block \"foo\"\n[bar]: /bar-url\n \"bar\"\n[baz]: /baz-url\n\n[foo],\n[bar],\n[baz]\n
Example 1103
✅ PASSED
Rule: document
[foo]\n\n> [foo]: /url\n
document [foo]\n\n> [foo]: /url\n ├─ block [foo] └─ paragraph [foo] └─ paragraph_line [foo] └─ inline [foo] └─ inline_core [foo] └─ text [foo] └─ word foo └─ block \n\n> [foo]: /url\n └─ unknown_block \n\n> [foo]: /url\n
Comprehensive Marco Grammar Tests - Failure Cases 27/27 passed
Example 306
✅ PASSED
Rule: document
[text(missing closing bracket
document [text(missing closing bracket └─ block [text(missing closing bracket └─ paragraph [text(missing closing bracket └─ paragraph_line [text(missing closing bracket └─ inline [text(missing closing bracket └─ inline_core [text(missing closing bracket └─ text [text(missing closing bracket ├─ word text ├─ safe_punct ( ├─ word missing ├─ word closing └─ word bracket
Example 307
✅ PASSED
Rule: document
![alt(missing closing bracket
document ![alt(missing closing bracket └─ block ![alt(missing closing bracket └─ paragraph ![alt(missing closing bracket └─ paragraph_line ![alt(missing closing bracket └─ inline ![alt(missing closing bracket └─ inline_core ![alt(missing closing bracket └─ text ![alt(missing closing bracket ├─ safe_punct ! ├─ word alt ├─ safe_punct ( ├─ word missing ├─ word closing └─ word bracket
Example 308
✅ PASSED
Rule: document
**missing closing
document **missing closing └─ block **missing closing └─ paragraph **missing closing └─ paragraph_line **missing closing └─ inline **missing closing └─ inline_core **missing closing └─ emphasis **missing closing └─ bold **missing closing └─ bold_asterisk **missing closing
Example 309
✅ PASSED
Rule: document
*missing closing
document *missing closing └─ block *missing closing └─ paragraph *missing closing └─ paragraph_line *missing closing └─ inline *missing closing └─ inline_core *missing closing └─ emphasis *missing closing └─ italic *missing closing └─ italic_asterisk *missing closing
Example 310
✅ PASSED
Rule: document
`missing closing
document `missing closing └─ block `missing closing └─ paragraph `missing closing └─ paragraph_line `missing closing └─ inline `missing closing └─ inline_core `missing closing └─ text `missing closing ├─ word missing └─ word closing
Example 311
✅ PASSED
Rule: document
$missing closing
document $missing closing └─ block $missing closing └─ paragraph $missing closing └─ paragraph_line $missing closing └─ inline $missing closing └─ inline_core $missing closing └─ text $missing closing └─ start_line_formatting $missing closing
Example 312
✅ PASSED
Rule: document
:missing closing
document :missing closing └─ block :missing closing └─ paragraph :missing closing └─ paragraph_line :missing closing └─ inline :missing closing └─ inline_core :missing closing └─ text :missing closing ├─ safe_punct : ├─ word missing └─ word closing
Example 313
✅ PASSED
Rule: document
<unclosed tag
document <unclosed tag └─ block <unclosed tag └─ unknown_block <unclosed tag
Example 314
✅ PASSED
Rule: document
<!-- unclosed comment
document <!-- unclosed comment └─ block <!-- unclosed comment └─ paragraph <!-- unclosed comment └─ paragraph_line <!-- unclosed comment └─ inline <!-- unclosed comment └─ inline_core <!-- unclosed comment └─ text <!-- unclosed comment ├─ safe_punct ! ├─ word unclosed └─ word comment
Example 315
✅ PASSED
Rule: document
############ too many hashes
document ############ too many hashes └─ block ############ too many hashes └─ heading ############ too many hashes └─ H6 ############ too many hashes └─ heading_content ###### too many hashes └─ inline ###### too many hashes └─ inline_core ###### too many hashes └─ text ###### too many hashes ├─ word too ├─ word many └─ word hashes
Example 316
✅ PASSED
Rule: document
? Not a list
document ? Not a list └─ block ? Not a list └─ paragraph ? Not a list └─ paragraph_line ? Not a list └─ inline ? Not a list └─ inline_core ? Not a list └─ text ? Not a list ├─ safe_punct ? ├─ word Not ├─ word a └─ word list
Example 317
✅ PASSED
Rule: document
| A | B |\n| 1 | 2 | 3 |" # mismatched columns
document | A | B |\n| 1 | 2 | 3 |" # mismatched columns └─ block | A | B |\n| 1 | 2 | 3 |" # mismatched columns └─ unknown_block | A | B |\n| 1 | 2 | 3 |" # mismatched columns
Example 318
✅ PASSED
Rule: document
[^invalid label with spaces]
document [^invalid label with spaces] └─ block [^invalid label with spaces] └─ paragraph [^invalid label with spaces] └─ paragraph_line [^invalid label with spaces] └─ inline [^invalid label with spaces] └─ inline_core [^invalid label with spaces] └─ text [^invalid label with spaces] ├─ word invalid ├─ word label ├─ word with └─ word spaces
Example 319
✅ PASSED
Rule: document
[ref with spaces]: url
document [ref with spaces]: url └─ block [ref with spaces]: url └─ paragraph [ref with spaces]: url └─ paragraph_line [ref with spaces]: url └─ inline [ref with spaces]: url └─ inline_core [ref with spaces]: url └─ text [ref with spaces]: url ├─ word ref ├─ word with ├─ word spaces ├─ safe_punct : └─ word url
Example 320
✅ PASSED
Rule: document
**bold with `code** inside`
document **bold with `code** inside` └─ block **bold with `code** inside` └─ paragraph **bold with `code** inside` └─ paragraph_line **bold with `code** inside` ├─ inline **bold with `code** └─ inline_core **bold with `code** └─ emphasis **bold with `code** └─ bold **bold with `code** └─ bold_asterisk **bold with `code** └─ inline inside` └─ inline_core inside` └─ text inside` └─ word inside
Example 321
✅ PASSED
Rule: document
*italic with **bold* text**
document *italic with **bold* text** ├─ block *italic with **bold* text └─ paragraph *italic with **bold* text └─ paragraph_line *italic with **bold* text ├─ inline *italic with * └─ inline_core *italic with * └─ emphasis *italic with * └─ italic *italic with * └─ italic_asterisk *italic with * ├─ inline *bold* └─ inline_core *bold* └─ emphasis *bold* └─ italic *bold* └─ italic_asterisk *bold* └─ inline text └─ inline_core text └─ text text └─ word text └─ block ** └─ unknown_block **
Example 322
✅ PASSED
Rule: document
~~strike with **bold~~ text**
document ~~strike with **bold~~ text** ├─ block ~~strike with **bold~~ text └─ paragraph ~~strike with **bold~~ text └─ paragraph_line ~~strike with **bold~~ text ├─ inline ~~strike with **bold~~ └─ inline_core ~~strike with **bold~~ └─ strikethrough ~~strike with **bold~~ └─ strikethrough_tilde ~~strike with **bold~~ └─ inline text └─ inline_core text └─ text text └─ word text └─ block ** └─ unknown_block **
Example 323
✅ PASSED
Rule: document
ftp://not.supported.com
document ftp://not.supported.com └─ block ftp://not.supported.com └─ paragraph ftp://not.supported.com └─ paragraph_line ftp://not.supported.com └─ inline ftp://not.supported.com └─ inline_core ftp://not.supported.com └─ text ftp://not.supported.com ├─ word ftp ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word not ├─ safe_punct . ├─ word supported ├─ safe_punct . └─ word com
Example 324
✅ PASSED
Rule: document
https://.
document https://. └─ block https://. └─ paragraph https://. └─ paragraph_line https://. └─ inline https://. └─ inline_core https://. └─ text https://. ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / └─ safe_punct .
Example 325
✅ PASSED
Rule: document
https:///empty/authority
document https:///empty/authority └─ block https:///empty/authority └─ paragraph https:///empty/authority └─ paragraph_line https:///empty/authority └─ inline https:///empty/authority └─ inline_core https:///empty/authority └─ text https:///empty/authority ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ safe_punct / ├─ word empty ├─ safe_punct / └─ word authority
Example 326
✅ PASSED
Rule: document
:::\ncustom_type\ncontent\n:::
document :::\ncustom_type\ncontent\n::: └─ block :::\ncustom_type\ncontent\n::: └─ unknown_block :::\ncustom_type\ncontent\n:::
Example 327
✅ PASSED
Rule: document
@user [platform
document @user [platform └─ block @user [platform └─ paragraph @user [platform └─ paragraph_line @user [platform └─ inline @user [platform └─ inline_core @user [platform └─ text @user [platform ├─ word user └─ word platform
Example 328
✅ PASSED
Rule: document
run@invalid_shell(command)
document run@invalid_shell(command) └─ block run@invalid_shell(command) └─ paragraph run@invalid_shell(command) └─ paragraph_line run@invalid_shell(command) ├─ inline run@invalid └─ inline_core run@invalid └─ text run@invalid ├─ word run └─ word invalid └─ inline _shell(command) └─ inline_core _shell(command) └─ emphasis _shell(command) └─ italic _shell(command) └─ italic_underscore _shell(command)
Example 329
✅ PASSED
Rule: document
[bookmark](no_colon)
document [bookmark](no_colon) └─ block [bookmark](no_colon) └─ paragraph [bookmark](no_colon) └─ paragraph_line [bookmark](no_colon) └─ inline [bookmark](no_colon) └─ inline_core [bookmark](no_colon) └─ inline_link [bookmark](no_colon) └─ bracket_link_without_title [bookmark](no_colon)
Example 330
✅ PASSED
Rule: document
text with invalid utf8 bytes
document text with invalid utf8 bytes └─ block text with invalid utf8 bytes └─ paragraph text with invalid utf8 bytes └─ paragraph_line text with invalid utf8 bytes └─ inline text with invalid utf8 bytes └─ inline_core text with invalid utf8 bytes └─ text text with invalid utf8 bytes ├─ word text ├─ word with ├─ word invalid ├─ word utf8 └─ word bytes
Example 331
✅ PASSED
Rule: document
text with null bytes
document text with null bytes └─ block text with null bytes └─ paragraph text with null bytes └─ paragraph_line text with null bytes └─ inline text with null bytes └─ inline_core text with null bytes └─ text text with null bytes ├─ word text ├─ word with ├─ word null └─ word bytes
Example 332
✅ PASSED
Rule: document
text with control chars
document text with control chars └─ block text with control chars └─ paragraph text with control chars └─ paragraph_line text with control chars └─ inline text with control chars └─ inline_core text with control chars └─ text text with control chars ├─ word text ├─ word with ├─ word control └─ word chars
Comprehensive Marco Grammar Tests - Backslash escapes 14/14 passed
Example 277
✅ PASSED
Rule: document
\\*not bold\\*
document \\*not bold\\* └─ block \\*not bold\\* └─ paragraph \\*not bold\\* └─ paragraph_line \\*not bold\\* ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline *not bold\\* └─ inline_core *not bold\\* └─ emphasis *not bold\\* └─ italic *not bold\\* └─ italic_asterisk *not bold\\*
Example 278
✅ PASSED
Rule: document
\\_not italic\\_
document \\_not italic\\_ └─ block \\_not italic\\_ └─ paragraph \\_not italic\\_ └─ paragraph_line \\_not italic\\_ ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline _not italic\\_ └─ inline_core _not italic\\_ └─ emphasis _not italic\\_ └─ italic _not italic\\_ └─ italic_underscore _not italic\\_
Example 279
✅ PASSED
Rule: document
\\`not code\\`
document \\`not code\\` └─ block \\`not code\\` └─ paragraph \\`not code\\` └─ paragraph_line \\`not code\\` ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline `not code\\` └─ inline_core `not code\\` └─ code_inline `not code\\`
Example 280
✅ PASSED
Rule: document
\\# not heading
document \\# not heading └─ block \\# not heading └─ paragraph \\# not heading └─ paragraph_line \\# not heading ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline # not heading └─ inline_core # not heading └─ text # not heading ├─ word not └─ word heading
Example 281
✅ PASSED
Rule: document
\\[not link\\]
document \\[not link\\] └─ block \\[not link\\] └─ paragraph \\[not link\\] └─ paragraph_line \\[not link\\] ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline [not link └─ inline_core [not link └─ text [not link ├─ word not └─ word link ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline ] └─ inline_core ] └─ text ]
Example 282
✅ PASSED
Rule: document
\\~not strikethrough\\~
document \\~not strikethrough\\~ ├─ block \\ └─ paragraph \\ └─ paragraph_line \\ └─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ block ~not strikethrough\\~ └─ unknown_block ~not strikethrough\\~
Example 283
✅ PASSED
Rule: document
\\> not blockquote
document \\> not blockquote └─ block \\> not blockquote └─ paragraph \\> not blockquote └─ paragraph_line \\> not blockquote ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline > not blockquote └─ inline_core > not blockquote └─ text > not blockquote ├─ word not └─ word blockquote
Example 284
✅ PASSED
Rule: document
\\| not table
document \\| not table └─ block \\| not table └─ paragraph \\| not table └─ paragraph_line \\| not table ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline | not table └─ inline_core | not table └─ text | not table ├─ word not └─ word table
Example 285
✅ PASSED
Rule: document
\\$ not math
document \\$ not math ├─ block \\ └─ paragraph \\ └─ paragraph_line \\ └─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ block $ not math └─ unknown_block $ not math
Example 286
✅ PASSED
Rule: document
\\@ not mention
document \\@ not mention └─ block \\@ not mention └─ paragraph \\@ not mention └─ paragraph_line \\@ not mention ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline @ not mention └─ inline_core @ not mention └─ text @ not mention ├─ word not └─ word mention
Example 287
✅ PASSED
Rule: document
\\^ not superscript
document \\^ not superscript └─ block \\^ not superscript └─ paragraph \\^ not superscript └─ paragraph_line \\^ not superscript ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline ^ not superscript └─ inline_core ^ not superscript └─ text ^ not superscript ├─ word not └─ word superscript
Example 288
✅ PASSED
Rule: document
\\= not highlight
document \\= not highlight └─ block \\= not highlight └─ paragraph \\= not highlight └─ paragraph_line \\= not highlight ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline = not highlight └─ inline_core = not highlight └─ text = not highlight ├─ math_symbol = ├─ word not └─ word highlight
Example 289
✅ PASSED
Rule: document
\\- not list
document \\- not list └─ block \\- not list └─ paragraph \\- not list └─ paragraph_line \\- not list ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline - not list └─ inline_core - not list └─ text - not list ├─ word not └─ word list
Example 290
✅ PASSED
Rule: document
\\*\\*not bold\\*\\*
document \\*\\*not bold\\*\\* └─ block \\*\\*not bold\\*\\* └─ paragraph \\*\\*not bold\\*\\* └─ paragraph_line \\*\\*not bold\\*\\* ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline *\\* └─ inline_core *\\* └─ emphasis *\\* └─ italic *\\* └─ italic_asterisk *\\* ├─ inline not bold └─ inline_core not bold └─ text not bold ├─ word not └─ word bold ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline *\\* └─ inline_core *\\* └─ emphasis *\\* └─ italic *\\* └─ italic_asterisk *\\*
Comprehensive Marco Grammar Tests - Commonmark Lists 26/26 passed
Example 1114
✅ PASSED
Rule: document
- foo\n- bar\n+ baz\n
document - foo\n- bar\n+ baz\n └─ block - foo\n- bar\n+ baz\n └─ list - foo\n- bar\n+ baz\n └─ list_item - foo\n- bar\n+ baz\n └─ regular_list_item - foo\n- bar\n+ baz\n ├─ list_marker - └─ list_item_content foo\n- bar\n+ baz\n
Example 1115
✅ PASSED
Rule: document
1. foo\n2. bar\n3) baz\n
document 1. foo\n2. bar\n3) baz\n └─ block 1. foo\n2. bar\n3) baz\n └─ list 1. foo\n2. bar\n3) baz\n └─ list_item 1. foo\n2. bar\n3) baz\n └─ regular_list_item 1. foo\n2. bar\n3) baz\n ├─ list_marker 1. └─ list_item_content foo\n2. bar\n3) baz\n
Example 1116
✅ PASSED
Rule: document
Foo\n- bar\n- baz\n
document Foo\n- bar\n- baz\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n- bar\n- baz\n └─ unknown_block \n- bar\n- baz\n
Example 1117
✅ PASSED
Rule: document
The number of windows in my house is\n14. The number of doors is 6.\n
document The number of windows in my house is\n14. The number of doors is 6.\n ├─ block The number of windows in my house is └─ paragraph The number of windows in my house is └─ paragraph_line The number of windows in my house is └─ inline The number of windows in my house is └─ inline_core The number of windows in my house is └─ text The number of windows in my house is ├─ word The ├─ word number ├─ word of ├─ word windows ├─ word in ├─ word my ├─ word house └─ word is └─ block \n14. The number of doors is 6.\n └─ unknown_block \n14. The number of doors is 6.\n
Example 1118
✅ PASSED
Rule: document
The number of windows in my house is\n1. The number of doors is 6.\n
document The number of windows in my house is\n1. The number of doors is 6.\n ├─ block The number of windows in my house is └─ paragraph The number of windows in my house is └─ paragraph_line The number of windows in my house is └─ inline The number of windows in my house is └─ inline_core The number of windows in my house is └─ text The number of windows in my house is ├─ word The ├─ word number ├─ word of ├─ word windows ├─ word in ├─ word my ├─ word house └─ word is └─ block \n1. The number of doors is 6.\n └─ unknown_block \n1. The number of doors is 6.\n
Example 1119
✅ PASSED
Rule: document
- foo\n\n- bar\n\n\n- baz\n
document - foo\n\n- bar\n\n\n- baz\n └─ block - foo\n\n- bar\n\n\n- baz\n └─ list - foo\n\n- bar\n\n\n- baz\n └─ list_item - foo\n\n- bar\n\n\n- baz\n └─ regular_list_item - foo\n\n- bar\n\n\n- baz\n ├─ list_marker - └─ list_item_content foo\n\n- bar\n\n\n- baz\n
Example 1120
✅ PASSED
Rule: document
- foo\n - bar\n - baz\n\n\n bim\n
document - foo\n - bar\n - baz\n\n\n bim\n └─ block - foo\n - bar\n - baz\n\n\n bim\n └─ list - foo\n - bar\n - baz\n\n\n bim\n └─ list_item - foo\n - bar\n - baz\n\n\n bim\n └─ regular_list_item - foo\n - bar\n - baz\n\n\n bim\n ├─ list_marker - └─ list_item_content foo\n - bar\n - baz\n\n\n bim\n
Example 1121
✅ PASSED
Rule: document
- foo\n- bar\n\n<!-- -->\n\n- baz\n- bim\n
document - foo\n- bar\n\n<!-- -->\n\n- baz\n- bim\n └─ block - foo\n- bar\n\n<!-- -->\n\n- baz\n- bim\n └─ list - foo\n- bar\n\n<!-- -->\n\n- baz\n- bim\n └─ list_item - foo\n- bar\n\n<!-- -->\n\n- baz\n- bim\n └─ regular_list_item - foo\n- bar\n\n<!-- -->\n\n- baz\n- bim\n ├─ list_marker - └─ list_item_content foo\n- bar\n\n<!-- -->\n\n- baz\n- bim\n
Example 1122
✅ PASSED
Rule: document
- foo\n\n notcode\n\n- foo\n\n<!-- -->\n\n code\n
document - foo\n\n notcode\n\n- foo\n\n<!-- -->\n\n code\n └─ block - foo\n\n notcode\n\n- foo\n\n<!-- -->\n\n code\n └─ list - foo\n\n notcode\n\n- foo\n\n<!-- -->\n\n code\n └─ list_item - foo\n\n notcode\n\n- foo\n\n<!-- -->\n\n code\n └─ regular_list_item - foo\n\n notcode\n\n- foo\n\n<!-- -->\n\n code\n ├─ list_marker - └─ list_item_content foo\n\n notcode\n\n- foo\n\n<!-- -->\n\n code\n
Example 1123
✅ PASSED
Rule: document
- a\n - b\n - c\n - d\n - e\n - f\n- g\n
document - a\n - b\n - c\n - d\n - e\n - f\n- g\n └─ block - a\n - b\n - c\n - d\n - e\n - f\n- g\n └─ list - a\n - b\n - c\n - d\n - e\n - f\n- g\n └─ list_item - a\n - b\n - c\n - d\n - e\n - f\n- g\n └─ regular_list_item - a\n - b\n - c\n - d\n - e\n - f\n- g\n ├─ list_marker - └─ list_item_content a\n - b\n - c\n - d\n - e\n - f\n- g\n
Example 1124
✅ PASSED
Rule: document
1. a\n\n 2. b\n\n 3. c\n
document 1. a\n\n 2. b\n\n 3. c\n └─ block 1. a\n\n 2. b\n\n 3. c\n └─ list 1. a\n\n 2. b\n\n 3. c\n └─ list_item 1. a\n\n 2. b\n\n 3. c\n └─ regular_list_item 1. a\n\n 2. b\n\n 3. c\n ├─ list_marker 1. └─ list_item_content a\n\n 2. b\n\n 3. c\n
Example 1125
✅ PASSED
Rule: document
- a\n - b\n - c\n - d\n - e\n
document - a\n - b\n - c\n - d\n - e\n └─ block - a\n - b\n - c\n - d\n - e\n └─ list - a\n - b\n - c\n - d\n - e\n └─ list_item - a\n - b\n - c\n - d\n - e\n └─ regular_list_item - a\n - b\n - c\n - d\n - e\n ├─ list_marker - └─ list_item_content a\n - b\n - c\n - d\n - e\n
Example 1126
✅ PASSED
Rule: document
1. a\n\n 2. b\n\n 3. c\n
document 1. a\n\n 2. b\n\n 3. c\n └─ block 1. a\n\n 2. b\n\n 3. c\n └─ list 1. a\n\n 2. b\n\n 3. c\n └─ list_item 1. a\n\n 2. b\n\n 3. c\n └─ regular_list_item 1. a\n\n 2. b\n\n 3. c\n ├─ list_marker 1. └─ list_item_content a\n\n 2. b\n\n 3. c\n
Example 1127
✅ PASSED
Rule: document
- a\n- b\n\n- c\n
document - a\n- b\n\n- c\n └─ block - a\n- b\n\n- c\n └─ list - a\n- b\n\n- c\n └─ list_item - a\n- b\n\n- c\n └─ regular_list_item - a\n- b\n\n- c\n ├─ list_marker - └─ list_item_content a\n- b\n\n- c\n
Example 1128
✅ PASSED
Rule: document
* a\n*\n\n* c\n
document * a\n*\n\n* c\n └─ block * a\n*\n\n* c\n └─ list * a\n*\n\n* c\n └─ list_item * a\n*\n\n* c\n └─ regular_list_item * a\n*\n\n* c\n ├─ list_marker * └─ list_item_content a\n*\n\n* c\n
Example 1129
✅ PASSED
Rule: document
- a\n- b\n\n c\n- d\n
document - a\n- b\n\n c\n- d\n └─ block - a\n- b\n\n c\n- d\n └─ list - a\n- b\n\n c\n- d\n └─ list_item - a\n- b\n\n c\n- d\n └─ regular_list_item - a\n- b\n\n c\n- d\n ├─ list_marker - └─ list_item_content a\n- b\n\n c\n- d\n
Example 1130
✅ PASSED
Rule: document
- a\n- b\n\n [ref]: /url\n- d\n
document - a\n- b\n\n [ref]: /url\n- d\n └─ block - a\n- b\n\n [ref]: /url\n- d\n └─ list - a\n- b\n\n [ref]: /url\n- d\n └─ list_item - a\n- b\n\n [ref]: /url\n- d\n └─ regular_list_item - a\n- b\n\n [ref]: /url\n- d\n ├─ list_marker - └─ list_item_content a\n- b\n\n [ref]: /url\n- d\n
Example 1131
✅ PASSED
Rule: document
- a\n- ```\n b\n\n\n ```\n- c\n
document - a\n- ```\n b\n\n\n ```\n- c\n └─ block - a\n- ```\n b\n\n\n ```\n- c\n └─ list - a\n- ```\n b\n\n\n ```\n- c\n └─ list_item - a\n- ```\n b\n\n\n ```\n- c\n └─ regular_list_item - a\n- ```\n b\n\n\n ```\n- c\n ├─ list_marker - └─ list_item_content a\n- ```\n b\n\n\n ```\n- c\n
Example 1132
✅ PASSED
Rule: document
- a\n - b\n\n c\n- d\n
document - a\n - b\n\n c\n- d\n └─ block - a\n - b\n\n c\n- d\n └─ list - a\n - b\n\n c\n- d\n └─ list_item - a\n - b\n\n c\n- d\n └─ regular_list_item - a\n - b\n\n c\n- d\n ├─ list_marker - └─ list_item_content a\n - b\n\n c\n- d\n
Example 1133
✅ PASSED
Rule: document
* a\n > b\n >\n* c\n
document * a\n > b\n >\n* c\n └─ block * a\n > b\n >\n* c\n └─ list * a\n > b\n >\n* c\n └─ list_item * a\n > b\n >\n* c\n └─ regular_list_item * a\n > b\n >\n* c\n ├─ list_marker * └─ list_item_content a\n > b\n >\n* c\n
Example 1134
✅ PASSED
Rule: document
- a\n > b\n ```\n c\n ```\n- d\n
document - a\n > b\n ```\n c\n ```\n- d\n └─ block - a\n > b\n ```\n c\n ```\n- d\n └─ list - a\n > b\n ```\n c\n ```\n- d\n └─ list_item - a\n > b\n ```\n c\n ```\n- d\n └─ regular_list_item - a\n > b\n ```\n c\n ```\n- d\n ├─ list_marker - └─ list_item_content a\n > b\n ```\n c\n ```\n- d\n
Example 1135
✅ PASSED
Rule: document
- a\n
document - a\n └─ block - a\n └─ list - a\n └─ list_item - a\n └─ regular_list_item - a\n ├─ list_marker - └─ list_item_content a\n
Example 1136
✅ PASSED
Rule: document
- a\n - b\n
document - a\n - b\n └─ block - a\n - b\n └─ list - a\n - b\n └─ list_item - a\n - b\n └─ regular_list_item - a\n - b\n ├─ list_marker - └─ list_item_content a\n - b\n
Example 1137
✅ PASSED
Rule: document
1. ```\n foo\n ```\n\n bar\n
document 1. ```\n foo\n ```\n\n bar\n └─ block 1. ```\n foo\n ```\n\n bar\n └─ list 1. ```\n foo\n ```\n\n bar\n └─ list_item 1. ```\n foo\n ```\n\n bar\n └─ regular_list_item 1. ```\n foo\n ```\n\n bar\n ├─ list_marker 1. └─ list_item_content ```\n foo\n ```\n\n bar\n
Example 1138
✅ PASSED
Rule: document
* foo\n * bar\n\n baz\n
document * foo\n * bar\n\n baz\n └─ block * foo\n * bar\n\n baz\n └─ list * foo\n * bar\n\n baz\n └─ list_item * foo\n * bar\n\n baz\n └─ regular_list_item * foo\n * bar\n\n baz\n ├─ list_marker * └─ list_item_content foo\n * bar\n\n baz\n
Example 1139
✅ PASSED
Rule: document
- a\n - b\n - c\n\n- d\n - e\n - f\n
document - a\n - b\n - c\n\n- d\n - e\n - f\n └─ block - a\n - b\n - c\n\n- d\n - e\n - f\n └─ list - a\n - b\n - c\n\n- d\n - e\n - f\n └─ list_item - a\n - b\n - c\n\n- d\n - e\n - f\n └─ regular_list_item - a\n - b\n - c\n\n- d\n - e\n - f\n ├─ list_marker - └─ list_item_content a\n - b\n - c\n\n- d\n - e\n - f\n
Comprehensive Marco Grammar Tests - Commonmark Images 22/22 passed
Example 963
✅ PASSED
Rule: document
![foo](/url \"title\")\n
document ![foo](/url \"title\")\n ├─ block ![foo](/url \"title\") └─ paragraph ![foo](/url \"title\") └─ paragraph_line ![foo](/url \"title\") └─ inline ![foo](/url \"title\") └─ inline_core ![foo](/url \"title\") └─ inline_image ![foo](/url \"title\") ├─ inline_link_text foo └─ link_url /url \"title\" └─ block \n └─ unknown_block \n
Example 964
✅ PASSED
Rule: document
![foo *bar*]\n\n[foo *bar*]: train.jpg \"train & tracks\"\n
document ![foo *bar*]\n\n[foo *bar*]: train.jpg \"train & tracks\"\n ├─ block ![foo *bar*] └─ paragraph ![foo *bar*] └─ paragraph_line ![foo *bar*] ├─ inline ![foo └─ inline_core ![foo └─ text ![foo ├─ safe_punct ! └─ word foo ├─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ inline ] └─ inline_core ] └─ text ] └─ block \n\n[foo *bar*]: train.jpg \"train & tracks\"\n └─ unknown_block \n\n[foo *bar*]: train.jpg \"train & tracks\"\n
Example 965
✅ PASSED
Rule: document
![foo ![bar](/url)](/url2)\n
document ![foo ![bar](/url)](/url2)\n ├─ block ![foo ![bar](/url)](/url2) └─ paragraph ![foo ![bar](/url)](/url2) └─ paragraph_line ![foo ![bar](/url)](/url2) └─ inline ![foo ![bar](/url)](/url2) └─ inline_core ![foo ![bar](/url)](/url2) └─ inline_image ![foo ![bar](/url)](/url2) ├─ inline_link_text foo ![bar](/url) └─ link_url /url2 └─ block \n └─ unknown_block \n
Example 966
✅ PASSED
Rule: document
![foo [bar](/url)](/url2)\n
document ![foo [bar](/url)](/url2)\n ├─ block ![foo [bar](/url)](/url2) └─ paragraph ![foo [bar](/url)](/url2) └─ paragraph_line ![foo [bar](/url)](/url2) └─ inline ![foo [bar](/url)](/url2) └─ inline_core ![foo [bar](/url)](/url2) └─ inline_image ![foo [bar](/url)](/url2) ├─ inline_link_text foo [bar](/url) └─ link_url /url2 └─ block \n └─ unknown_block \n
Example 967
✅ PASSED
Rule: document
![foo *bar*][]\n\n[foo *bar*]: train.jpg \"train & tracks\"\n
document ![foo *bar*][]\n\n[foo *bar*]: train.jpg \"train & tracks\"\n ├─ block ![foo *bar*][] └─ paragraph ![foo *bar*][] └─ paragraph_line ![foo *bar*][] ├─ inline ![foo └─ inline_core ![foo └─ text ![foo ├─ safe_punct ! └─ word foo ├─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ inline ][] └─ inline_core ][] └─ text ][] └─ block \n\n[foo *bar*]: train.jpg \"train & tracks\"\n └─ unknown_block \n\n[foo *bar*]: train.jpg \"train & tracks\"\n
Example 968
✅ PASSED
Rule: document
![foo *bar*][foobar]\n\n[FOOBAR]: train.jpg \"train & tracks\"\n
document ![foo *bar*][foobar]\n\n[FOOBAR]: train.jpg \"train & tracks\"\n ├─ block ![foo *bar*][foobar] └─ reference_image ![foo *bar*][foobar] ├─ block_caption foo *bar* └─ block_caption foobar └─ block \n\n[FOOBAR]: train.jpg \"train & tracks\"\n └─ unknown_block \n\n[FOOBAR]: train.jpg \"train & tracks\"\n
Example 969
✅ PASSED
Rule: document
![foo](train.jpg)\n
document ![foo](train.jpg)\n ├─ block ![foo](train.jpg) └─ paragraph ![foo](train.jpg) └─ paragraph_line ![foo](train.jpg) └─ inline ![foo](train.jpg) └─ inline_core ![foo](train.jpg) └─ inline_image ![foo](train.jpg) ├─ inline_link_text foo └─ link_url train.jpg └─ block \n └─ unknown_block \n
Example 970
✅ PASSED
Rule: document
My ![foo bar](/path/to/train.jpg \"title\" )\n
document My ![foo bar](/path/to/train.jpg \"title\" )\n ├─ block My ![foo bar](/path/to/train.jpg └─ paragraph My ![foo bar](/path/to/train.jpg └─ paragraph_line My ![foo bar](/path/to/train.jpg └─ inline My ![foo bar](/path/to/train.jpg └─ inline_core My ![foo bar](/path/to/train.jpg └─ text My ![foo bar](/path/to/train.jpg ├─ word My ├─ safe_punct ! ├─ word foo ├─ word bar ├─ safe_punct ( ├─ safe_punct / ├─ word path ├─ safe_punct / ├─ word to ├─ safe_punct / ├─ word train ├─ safe_punct . └─ word jpg └─ block \"title\" )\n └─ unknown_block \"title\" )\n
Example 971
✅ PASSED
Rule: document
![foo](<url>)\n
document ![foo](<url>)\n ├─ block ![foo](<url>) └─ paragraph ![foo](<url>) └─ paragraph_line ![foo](<url>) └─ inline ![foo](<url>) └─ inline_core ![foo](<url>) └─ text ![foo](<url>) ├─ safe_punct ! ├─ word foo ├─ safe_punct ( ├─ word url └─ safe_punct ) └─ block \n └─ unknown_block \n
Example 972
✅ PASSED
Rule: document
![](/url)\n
document ![](/url)\n ├─ block ![](/url) └─ paragraph ![](/url) └─ paragraph_line ![](/url) └─ inline ![](/url) └─ inline_core ![](/url) └─ inline_image ![](/url) ├─ inline_link_text └─ link_url /url └─ block \n └─ unknown_block \n
Example 973
✅ PASSED
Rule: document
![foo][bar]\n\n[bar]: /url\n
document ![foo][bar]\n\n[bar]: /url\n ├─ block ![foo][bar] └─ reference_image ![foo][bar] ├─ block_caption foo └─ block_caption bar └─ block \n\n[bar]: /url\n └─ unknown_block \n\n[bar]: /url\n
Example 974
✅ PASSED
Rule: document
![foo][bar]\n\n[BAR]: /url\n
document ![foo][bar]\n\n[BAR]: /url\n ├─ block ![foo][bar] └─ reference_image ![foo][bar] ├─ block_caption foo └─ block_caption bar └─ block \n\n[BAR]: /url\n └─ unknown_block \n\n[BAR]: /url\n
Example 975
✅ PASSED
Rule: document
![foo][]\n\n[foo]: /url \"title\"\n
document ![foo][]\n\n[foo]: /url \"title\"\n ├─ block ![foo][] └─ paragraph ![foo][] └─ paragraph_line ![foo][] └─ inline ![foo][] └─ inline_core ![foo][] └─ text ![foo][] ├─ safe_punct ! └─ word foo └─ block \n\n[foo]: /url \"title\"\n └─ unknown_block \n\n[foo]: /url \"title\"\n
Example 976
✅ PASSED
Rule: document
![*foo* bar][]\n\n[*foo* bar]: /url \"title\"\n
document ![*foo* bar][]\n\n[*foo* bar]: /url \"title\"\n ├─ block ![*foo* bar][] └─ paragraph ![*foo* bar][] └─ paragraph_line ![*foo* bar][] ├─ inline ![ └─ inline_core ![ └─ text ![ └─ safe_punct ! ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* └─ inline bar][] └─ inline_core bar][] └─ text bar][] └─ word bar └─ block \n\n[*foo* bar]: /url \"title\"\n └─ unknown_block \n\n[*foo* bar]: /url \"title\"\n
Example 977
✅ PASSED
Rule: document
![Foo][]\n\n[foo]: /url \"title\"\n
document ![Foo][]\n\n[foo]: /url \"title\"\n ├─ block ![Foo][] └─ paragraph ![Foo][] └─ paragraph_line ![Foo][] └─ inline ![Foo][] └─ inline_core ![Foo][] └─ text ![Foo][] ├─ safe_punct ! └─ word Foo └─ block \n\n[foo]: /url \"title\"\n └─ unknown_block \n\n[foo]: /url \"title\"\n
Example 978
✅ PASSED
Rule: document
![foo] \n[]\n\n[foo]: /url \"title\"\n
document ![foo] \n[]\n\n[foo]: /url \"title\"\n ├─ block ![foo] └─ paragraph ![foo] └─ paragraph_line ![foo] └─ inline ![foo] └─ inline_core ![foo] └─ text ![foo] ├─ safe_punct ! └─ word foo └─ block \n[]\n\n[foo]: /url \"title\"\n └─ unknown_block \n[]\n\n[foo]: /url \"title\"\n
Example 979
✅ PASSED
Rule: document
![foo]\n\n[foo]: /url \"title\"\n
document ![foo]\n\n[foo]: /url \"title\"\n ├─ block ![foo] └─ paragraph ![foo] └─ paragraph_line ![foo] └─ inline ![foo] └─ inline_core ![foo] └─ text ![foo] ├─ safe_punct ! └─ word foo └─ block \n\n[foo]: /url \"title\"\n └─ unknown_block \n\n[foo]: /url \"title\"\n
Example 980
✅ PASSED
Rule: document
![*foo* bar]\n\n[*foo* bar]: /url \"title\"\n
document ![*foo* bar]\n\n[*foo* bar]: /url \"title\"\n ├─ block ![*foo* bar] └─ paragraph ![*foo* bar] └─ paragraph_line ![*foo* bar] ├─ inline ![ └─ inline_core ![ └─ text ![ └─ safe_punct ! ├─ inline *foo* └─ inline_core *foo* └─ emphasis *foo* └─ italic *foo* └─ italic_asterisk *foo* └─ inline bar] └─ inline_core bar] └─ text bar] └─ word bar └─ block \n\n[*foo* bar]: /url \"title\"\n └─ unknown_block \n\n[*foo* bar]: /url \"title\"\n
Example 981
✅ PASSED
Rule: document
![[foo]]\n\n[[foo]]: /url \"title\"\n
document ![[foo]]\n\n[[foo]]: /url \"title\"\n ├─ block ![[foo]] └─ paragraph ![[foo]] └─ paragraph_line ![[foo]] └─ inline ![[foo]] └─ inline_core ![[foo]] └─ text ![[foo]] ├─ safe_punct ! └─ word foo └─ block \n\n[[foo]]: /url \"title\"\n └─ unknown_block \n\n[[foo]]: /url \"title\"\n
Example 982
✅ PASSED
Rule: document
![Foo]\n\n[foo]: /url \"title\"\n
document ![Foo]\n\n[foo]: /url \"title\"\n ├─ block ![Foo] └─ paragraph ![Foo] └─ paragraph_line ![Foo] └─ inline ![Foo] └─ inline_core ![Foo] └─ text ![Foo] ├─ safe_punct ! └─ word Foo └─ block \n\n[foo]: /url \"title\"\n └─ unknown_block \n\n[foo]: /url \"title\"\n
Example 983
✅ PASSED
Rule: document
!\\[foo]\n\n[foo]: /url \"title\"\n
document !\\[foo]\n\n[foo]: /url \"title\"\n ├─ block !\\[foo] └─ paragraph !\\[foo] └─ paragraph_line !\\[foo] ├─ inline ! └─ inline_core ! └─ text ! └─ safe_punct ! ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline [foo] └─ inline_core [foo] └─ text [foo] └─ word foo └─ block \n\n[foo]: /url \"title\"\n └─ unknown_block \n\n[foo]: /url \"title\"\n
Example 984
✅ PASSED
Rule: document
\\![foo]\n\n[foo]: /url \"title\"\n
document \\![foo]\n\n[foo]: /url \"title\"\n ├─ block \\![foo] └─ paragraph \\![foo] └─ paragraph_line \\![foo] ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline ![foo] └─ inline_core ![foo] └─ text ![foo] ├─ safe_punct ! └─ word foo └─ block \n\n[foo]: /url \"title\"\n └─ unknown_block \n\n[foo]: /url \"title\"\n
Comprehensive Marco Grammar Tests - Integration Tests 3/3 passed
Example 544
✅ PASSED
Rule: document
# How to Use Marco\n\n**Marco** is a powerful *markdown* processor.\n\n## Features\n\n- Fast parsing\n- Extensions support\n- Real-time preview\n\n```rust\nfn main() {\n println!(\"Hello, world!\");\n}\n```\n\n> Marco makes markdown easy!\n\nVisit [our website](https://example.com) for more info.
document # How to Use Marco\n\n**Marco** is a powerful *markdown* processor.\n\n## Features\n\n- Fast parsing\n- Extensions support\n- Real-time preview\n\n```rust\nfn main() {\n println!(\"Hello, world!\");\n}\n```\n\n> Marco makes markdown easy!\n\nVisit [our website](https://example.com) for more info. ├─ block # How to Use Marco └─ heading # How to Use Marco └─ H1 # How to Use Marco └─ heading_content How to Use Marco └─ inline How to Use Marco └─ inline_core How to Use Marco └─ text How to Use Marco ├─ word How ├─ word to ├─ word Use └─ word Marco └─ block \n\n**Marco** is a powerful *markdown* processor.\n\n## Features\n\n- Fast parsing\n- Extensions support\n- Real-time preview\n\n```rust\nfn main() {\n println!(\"Hello, world!\");\n}\n```\n\n> Marco makes markdown easy!\n\nVisit [our website](https://example.com) for more info. └─ unknown_block \n\n**Marco** is a powerful *markdown* processor.\n\n## Features\n\n- Fast parsing\n- Extensions support\n- Real-time preview\n\n```rust\nfn main() {\n println!(\"Hello, world!\");\n}\n```\n\n> Marco makes markdown easy!\n\nVisit [our website](https://example.com) for more info.
Example 545
✅ PASSED
Rule: document
# API Reference\n\n## Authentication\n\nUse JWT tokens:\n\n```http\nGET /api/users\nAuthorization: Bearer <token>\n```\n\n### Response\n\n| Field | Type | Description |\n|-------|------|-----------|\n| id | int | User ID |\n| name | str | Full name |\n\n:::\nwarning\nTokens expire after 24 hours\n:::
document # API Reference\n\n## Authentication\n\nUse JWT tokens:\n\n```http\nGET /api/users\nAuthorization: Bearer <token>\n```\n\n### Response\n\n| Field | Type | Description |\n|-------|------|-----------|\n| id | int | User ID |\n| name | str | Full name |\n\n:::\nwarning\nTokens expire after 24 hours\n::: ├─ block # API Reference └─ heading # API Reference └─ H1 # API Reference └─ heading_content API Reference └─ inline API Reference └─ inline_core API Reference └─ text API Reference ├─ word API └─ word Reference └─ block \n\n## Authentication\n\nUse JWT tokens:\n\n```http\nGET /api/users\nAuthorization: Bearer <token>\n```\n\n### Response\n\n| Field | Type | Description |\n|-------|------|-----------|\n| id | int | User ID |\n| name | str | Full name |\n\n:::\nwarning\nTokens expire after 24 hours\n::: └─ unknown_block \n\n## Authentication\n\nUse JWT tokens:\n\n```http\nGET /api/users\nAuthorization: Bearer <token>\n```\n\n### Response\n\n| Field | Type | Description |\n|-------|------|-----------|\n| id | int | User ID |\n| name | str | Full name |\n\n:::\nwarning\nTokens expire after 24 hours\n:::
Example 546
✅ PASSED
Rule: document
# My Project\n\n[![CI](https://img.shields.io/badge/CI-passing-green)](https://example.com)\n\n## Quick Start\n\n1. Install dependencies: `npm install`\n2. Run tests: `npm test`\n3. Build: `npm run build`\n\n### Configuration\n\nCreate a `.env` file:\n\n```bash\nAPI_KEY=your_key_here\nDEBUG=true\n```\n\n## Contributing\n\n- [x] Write tests\n- [ ] Update docs\n- [ ] Add examples\n\n**Note**: Please follow our [style guide](STYLE.md).
document # My Project\n\n[![CI](https://img.shields.io/badge/CI-passing-green)](https://example.com)\n\n## Quick Start\n\n1. Install dependencies: `npm install`\n2. Run tests: `npm test`\n3. Build: `npm run build`\n\n### Configuration\n\nCreate a `.env` file:\n\n```bash\nAPI_KEY=your_key_here\nDEBUG=true\n```\n\n## Contributing\n\n- [x] Write tests\n- [ ] Update docs\n- [ ] Add examples\n\n**Note**: Please follow our [style guide](STYLE.md). ├─ block # My Project └─ heading # My Project └─ H1 # My Project └─ heading_content My Project └─ inline My Project └─ inline_core My Project └─ text My Project ├─ word My └─ word Project └─ block \n\n[![CI](https://img.shields.io/badge/CI-passing-green)](https://example.com)\n\n## Quick Start\n\n1. Install dependencies: `npm install`\n2. Run tests: `npm test`\n3. Build: `npm run build`\n\n### Configuration\n\nCreate a `.env` file:\n\n```bash\nAPI_KEY=your_key_here\nDEBUG=true\n```\n\n## Contributing\n\n- [x] Write tests\n- [ ] Update docs\n- [ ] Add examples\n\n**Note**: Please follow our [style guide](STYLE.md). └─ unknown_block \n\n[![CI](https://img.shields.io/badge/CI-passing-green)](https://example.com)\n\n## Quick Start\n\n1. Install dependencies: `npm install`\n2. Run tests: `npm test`\n3. Build: `npm run build`\n\n### Configuration\n\nCreate a `.env` file:\n\n```bash\nAPI_KEY=your_key_here\nDEBUG=true\n```\n\n## Contributing\n\n- [x] Write tests\n- [ ] Update docs\n- [ ] Add examples\n\n**Note**: Please follow our [style guide](STYLE.md).
Comprehensive Marco Grammar Tests - Bookmarks 3/3 passed
Example 259
✅ PASSED
Rule: document
[bookmark:section](./file.md)
document [bookmark:section](./file.md) └─ block [bookmark:section](./file.md) └─ macro_block [bookmark:section](./file.md) └─ bookmark [bookmark:section](./file.md) ├─ KW_BOOKMARK bookmark └─ local_path ./file.md
Example 260
✅ PASSED
Rule: document
[bookmark:function](./code.rs=42)
document [bookmark:function](./code.rs=42) └─ block [bookmark:function](./code.rs=42) └─ macro_block [bookmark:function](./code.rs=42) └─ bookmark [bookmark:function](./code.rs=42) ├─ KW_BOOKMARK bookmark └─ local_path ./code.rs=42
Example 261
✅ PASSED
Rule: document
[bookmark:important-section](../docs/guide.md=123)
document [bookmark:important-section](../docs/guide.md=123) └─ block [bookmark:important-section](../docs/guide.md=123) └─ macro_block [bookmark:important-section](../docs/guide.md=123) └─ bookmark [bookmark:important-section](../docs/guide.md=123) ├─ KW_BOOKMARK bookmark └─ local_path ../docs/guide.md=123
Comprehensive Marco Grammar Tests - Real World Cases 14/14 passed
Example 426
✅ PASSED
Rule: document
#123 @user fixes issue
document #123 @user fixes issue └─ block #123 @user fixes issue └─ heading #123 @user fixes issue └─ H1 #123 @user fixes issue └─ heading_content 123 @user fixes issue └─ inline 123 @user fixes issue └─ inline_core 123 @user fixes issue └─ text 123 @user fixes issue ├─ word 123 ├─ word user ├─ word fixes └─ word issue
Example 427
✅ PASSED
Rule: document
@octocat please review
document @octocat please review └─ block @octocat please review └─ paragraph @octocat please review └─ paragraph_line @octocat please review └─ inline @octocat please review └─ inline_core @octocat please review └─ text @octocat please review ├─ word octocat ├─ word please └─ word review
Example 428
✅ PASSED
Rule: document
Fixed in commit abc123def456
document Fixed in commit abc123def456 └─ block Fixed in commit abc123def456 └─ paragraph Fixed in commit abc123def456 └─ paragraph_line Fixed in commit abc123def456 └─ inline Fixed in commit abc123def456 └─ inline_core Fixed in commit abc123def456 └─ text Fixed in commit abc123def456 ├─ word Fixed ├─ word in ├─ word commit └─ word abc123def456
Example 429
✅ PASSED
Rule: document
According to Smith et al. (2023)[^smith2023], this is correct.
document According to Smith et al. (2023)[^smith2023], this is correct. └─ block According to Smith et al. (2023)[^smith2023], this is correct. └─ paragraph According to Smith et al. (2023)[^smith2023], this is correct. └─ paragraph_line According to Smith et al. (2023)[^smith2023], this is correct. └─ inline According to Smith et al. (2023)[^smith2023], this is correct. └─ inline_core According to Smith et al. (2023)[^smith2023], this is correct. └─ text According to Smith et al. (2023)[^smith2023], this is correct. ├─ word According ├─ word to ├─ word Smith ├─ word et ├─ word al ├─ safe_punct . ├─ safe_punct ( ├─ word 2023 ├─ safe_punct ) ├─ word smith2023 ├─ safe_punct , ├─ word this ├─ word is ├─ word correct └─ safe_punct .
Example 430
✅ PASSED
Rule: document
https://doi.org/10.1000/182
document https://doi.org/10.1000/182 └─ block https://doi.org/10.1000/182 └─ paragraph https://doi.org/10.1000/182 └─ paragraph_line https://doi.org/10.1000/182 └─ inline https://doi.org/10.1000/182 └─ inline_core https://doi.org/10.1000/182 └─ text https://doi.org/10.1000/182 ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word doi ├─ safe_punct . ├─ word org ├─ safe_punct / ├─ word 10 ├─ safe_punct . ├─ word 1000 ├─ safe_punct / └─ word 182
Example 431
✅ PASSED
Rule: document
https://arxiv.org/abs/2301.00001
document https://arxiv.org/abs/2301.00001 └─ block https://arxiv.org/abs/2301.00001 └─ paragraph https://arxiv.org/abs/2301.00001 └─ paragraph_line https://arxiv.org/abs/2301.00001 └─ inline https://arxiv.org/abs/2301.00001 └─ inline_core https://arxiv.org/abs/2301.00001 └─ text https://arxiv.org/abs/2301.00001 ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word arxiv ├─ safe_punct . ├─ word org ├─ safe_punct / ├─ word abs ├─ safe_punct / ├─ word 2301 ├─ safe_punct . └─ word 00001
Example 432
✅ PASSED
Rule: document
`GET /api/v1/users/{id}` returns user data
document `GET /api/v1/users/{id}` returns user data └─ block `GET /api/v1/users/{id}` returns user data └─ paragraph `GET /api/v1/users/{id}` returns user data └─ paragraph_line `GET /api/v1/users/{id}` returns user data ├─ inline `GET /api/v1/users/{id}` └─ inline_core `GET /api/v1/users/{id}` └─ code_inline `GET /api/v1/users/{id}` └─ inline returns user data └─ inline_core returns user data └─ text returns user data ├─ word returns ├─ word user └─ word data
Example 433
✅ PASSED
Rule: document
Use `\\`` to escape backticks in code
document Use `\\`` to escape backticks in code └─ block Use `\\`` to escape backticks in code └─ paragraph Use `\\`` to escape backticks in code └─ paragraph_line Use `\\`` to escape backticks in code ├─ inline Use └─ inline_core Use └─ text Use └─ word Use ├─ inline `\\` └─ inline_core `\\` └─ code_inline `\\` └─ inline ` to escape backticks in code └─ inline_core ` to escape backticks in code └─ text ` to escape backticks in code ├─ word to ├─ word escape ├─ word backticks ├─ word in └─ word code
Example 434
✅ PASSED
Rule: document
Pattern: `/^[a-zA-Z0-9]+$/g`
document Pattern: `/^[a-zA-Z0-9]+$/g` └─ block Pattern: `/^[a-zA-Z0-9]+$/g` └─ paragraph Pattern: `/^[a-zA-Z0-9]+$/g` └─ paragraph_line Pattern: `/^[a-zA-Z0-9]+$/g` ├─ inline Pattern: └─ inline_core Pattern: └─ text Pattern: ├─ word Pattern └─ safe_punct : └─ inline `/^[a-zA-Z0-9]+$/g` └─ inline_core `/^[a-zA-Z0-9]+$/g` └─ code_inline `/^[a-zA-Z0-9]+$/g`
Example 435
✅ PASSED
Rule: document
In Python, use `print()`, but in Rust use `println!()`
document In Python, use `print()`, but in Rust use `println!()` └─ block In Python, use `print()`, but in Rust use `println!()` └─ paragraph In Python, use `print()`, but in Rust use `println!()` └─ paragraph_line In Python, use `print()`, but in Rust use `println!()` ├─ inline In Python, use └─ inline_core In Python, use └─ text In Python, use ├─ word In ├─ word Python ├─ safe_punct , └─ word use ├─ inline `print()` └─ inline_core `print()` └─ code_inline `print()` ├─ inline , but in Rust use └─ inline_core , but in Rust use └─ text , but in Rust use ├─ safe_punct , ├─ word but ├─ word in ├─ word Rust └─ word use └─ inline `println!()` └─ inline_core `println!()` └─ code_inline `println!()`
Example 436
✅ PASSED
Rule: document
English 中文 العربية русский 日本語 한국어 हिन्दी
document English 中文 العربية русский 日本語 한국어 हिन्दी └─ block English 中文 العربية русский 日本語 한국어 हिन्दी └─ paragraph English 中文 العربية русский 日本語 한국어 हिन्दी └─ paragraph_line English 中文 العربية русский 日本語 한국어 हिन्दी └─ inline English 中文 العربية русский 日本語 한국어 हिन्दी └─ inline_core English 中文 العربية русский 日本語 한국어 हिन्दी └─ text English 中文 العربية русский 日本語 한국어 हिन्दी ├─ word English ├─ word 中文 ├─ word العربية ├─ word русский ├─ word 日本語 ├─ word 한국어 ├─ word ├─ word └─ word
Example 437
✅ PASSED
Rule: document
This is #not-a-heading but markdown might confuse it
document This is #not-a-heading but markdown might confuse it └─ block This is #not-a-heading but markdown might confuse it └─ paragraph This is #not-a-heading but markdown might confuse it └─ paragraph_line This is #not-a-heading but markdown might confuse it └─ inline This is #not-a-heading but markdown might confuse it └─ inline_core This is #not-a-heading but markdown might confuse it └─ text This is #not-a-heading but markdown might confuse it ├─ word This ├─ word is ├─ word not-a-heading ├─ word but ├─ word markdown ├─ word might ├─ word confuse └─ word it
Example 438
✅ PASSED
Rule: document
Email: user@domain.com vs mention @user
document Email: user@domain.com vs mention @user └─ block Email: user@domain.com vs mention @user └─ paragraph Email: user@domain.com vs mention @user └─ paragraph_line Email: user@domain.com vs mention @user └─ inline Email: user@domain.com vs mention @user └─ inline_core Email: user@domain.com vs mention @user └─ text Email: user@domain.com vs mention @user ├─ word Email ├─ safe_punct : ├─ word user ├─ word domain ├─ safe_punct . ├─ word com ├─ word vs ├─ word mention └─ word user
Example 439
✅ PASSED
Rule: document
See (https://example.com) for details
document See (https://example.com) for details └─ block See (https://example.com) for details └─ paragraph See (https://example.com) for details └─ paragraph_line See (https://example.com) for details └─ inline See (https://example.com) for details └─ inline_core See (https://example.com) for details └─ text See (https://example.com) for details ├─ word See ├─ safe_punct ( ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct ) ├─ word for └─ word details
Comprehensive Marco Grammar Tests - Boundary Conditions 11/11 passed
Example 415
✅ PASSED
Rule: document
- 1\n - 2\n - 3\n - 4\n - 5\n - 6\n - 7\n - 8\n - 9\n - 10\n - 11\n - 12\n - 13\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 22\n - 23\n - 24\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 32
document - 1\n - 2\n - 3\n - 4\n - 5\n - 6\n - 7\n - 8\n - 9\n - 10\n - 11\n - 12\n - 13\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 22\n - 23\n - 24\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 32 └─ block - 1\n - 2\n - 3\n - 4\n - 5\n - 6\n - 7\n - 8\n - 9\n - 10\n - 11\n - 12\n - 13\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 22\n - 23\n - 24\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 32 └─ list - 1\n - 2\n - 3\n - 4\n - 5\n - 6\n - 7\n - 8\n - 9\n - 10\n - 11\n - 12\n - 13\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 22\n - 23\n - 24\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 32 └─ list_item - 1\n - 2\n - 3\n - 4\n - 5\n - 6\n - 7\n - 8\n - 9\n - 10\n - 11\n - 12\n - 13\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 22\n - 23\n - 24\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 32 └─ regular_list_item - 1\n - 2\n - 3\n - 4\n - 5\n - 6\n - 7\n - 8\n - 9\n - 10\n - 11\n - 12\n - 13\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 22\n - 23\n - 24\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 32 ├─ list_marker - └─ list_item_content 1\n - 2\n - 3\n - 4\n - 5\n - 6\n - 7\n - 8\n - 9\n - 10\n - 11\n - 12\n - 13\n - 14\n - 15\n - 16\n - 17\n - 18\n - 19\n - 20\n - 21\n - 22\n - 23\n - 24\n - 25\n - 26\n - 27\n - 28\n - 29\n - 30\n - 31\n - 32
Example 416
✅ PASSED
Rule: document
document
Example 417
✅ PASSED
Rule: document
\n\n\n\n\n
document \n\n\n\n\n └─ block \n\n\n\n\n └─ unknown_block \n\n\n\n\n
Example 418
✅ PASSED
Rule: document
*_`#[]~>|$@^=-
document *_`#[]~>|$@^=- └─ block *_`#[]~>|$@^=- └─ paragraph *_`#[]~>|$@^=- └─ paragraph_line *_`#[]~>|$@^=- └─ inline *_`#[]~>|$@^=- └─ inline_core *_`#[]~>|$@^=- └─ emphasis *_`#[]~>|$@^=- └─ italic *_`#[]~>|$@^=- └─ italic_asterisk *_`#[]~>|$@^=-
Example 419
✅ PASSED
Rule: document
999999999999999999999. Heading
document 999999999999999999999. Heading └─ block 999999999999999999999. Heading └─ list 999999999999999999999. Heading └─ list_item 999999999999999999999. Heading └─ regular_list_item 999999999999999999999. Heading ├─ list_marker 999999999999999999999. └─ list_item_content Heading
Example 420
✅ PASSED
Rule: document
0. Zero heading
document 0. Zero heading └─ block 0. Zero heading └─ list 0. Zero heading └─ list_item 0. Zero heading └─ regular_list_item 0. Zero heading ├─ list_marker 0. └─ list_item_content Zero heading
Example 421
✅ PASSED
Rule: document
-1. Negative heading
document -1. Negative heading └─ block -1. Negative heading └─ paragraph -1. Negative heading └─ paragraph_line -1. Negative heading └─ inline -1. Negative heading └─ inline_core -1. Negative heading └─ text -1. Negative heading ├─ word 1 ├─ safe_punct . ├─ word Negative └─ word heading
Example 422
✅ PASSED
Rule: document
https://example.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
document https://example.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ block https://example.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ paragraph https://example.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ paragraph_line https://example.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ inline https://example.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ inline_core https://example.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa └─ text https://example.com/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct / └─ word aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Example 423
✅ PASSED
Rule: document
https://example.com?param0=value0¶m1=value1¶m2=value2¶m3=value3¶m4=value4¶m5=value5¶m6=value6¶m7=value7¶m8=value8¶m9=value9¶m10=value10¶m11=value11¶m12=value12¶m13=value13¶m14=value14¶m15=value15¶m16=value16¶m17=value17¶m18=value18¶m19=value19
document https://example.com?param0=value0&param1=value1&param2=value2&param3=value3&param4=value4&param5=value5&param6=value6&param7=value7&param8=value8&param9=value9&param10=value10&param11=value11&param12=value12&param13=value13&param14=value14&param15=value15&param16=value16&param17=value17&param18=value18&param19=value19 └─ block https://example.com?param0=value0&param1=value1&param2=value2&param3=value3&param4=value4&param5=value5&param6=value6&param7=value7&param8=value8&param9=value9&param10=value10&param11=value11&param12=value12&param13=value13&param14=value14&param15=value15&param16=value16&param17=value17&param18=value18&param19=value19 └─ paragraph https://example.com?param0=value0&param1=value1&param2=value2&param3=value3&param4=value4&param5=value5&param6=value6&param7=value7&param8=value8&param9=value9&param10=value10&param11=value11&param12=value12&param13=value13&param14=value14&param15=value15&param16=value16&param17=value17&param18=value18&param19=value19 └─ paragraph_line https://example.com?param0=value0&param1=value1&param2=value2&param3=value3&param4=value4&param5=value5&param6=value6&param7=value7&param8=value8&param9=value9&param10=value10&param11=value11&param12=value12&param13=value13&param14=value14&param15=value15&param16=value16&param17=value17&param18=value18&param19=value19 └─ inline https://example.com?param0=value0&param1=value1&param2=value2&param3=value3&param4=value4&param5=value5&param6=value6&param7=value7&param8=value8&param9=value9&param10=value10&param11=value11&param12=value12&param13=value13&param14=value14&param15=value15&param16=value16&param17=value17&param18=value18&param19=value19 └─ inline_core https://example.com?param0=value0&param1=value1&param2=value2&param3=value3&param4=value4&param5=value5&param6=value6&param7=value7&param8=value8&param9=value9&param10=value10&param11=value11&param12=value12&param13=value13&param14=value14&param15=value15&param16=value16&param17=value17&param18=value18&param19=value19 └─ text https://example.com?param0=value0&param1=value1&param2=value2&param3=value3&param4=value4&param5=value5&param6=value6&param7=value7&param8=value8&param9=value9&param10=value10&param11=value11&param12=value12&param13=value13&param14=value14&param15=value15&param16=value16&param17=value17&param18=value18&param19=value19 ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word example ├─ safe_punct . ├─ word com ├─ safe_punct ? ├─ word param0 ├─ math_symbol = ├─ word value0 ├─ safe_punct & ├─ word param1 ├─ math_symbol = ├─ word value1 ├─ safe_punct & ├─ word param2 ├─ math_symbol = ├─ word value2 ├─ safe_punct & ├─ word param3 ├─ math_symbol = ├─ word value3 ├─ safe_punct & ├─ word param4 ├─ math_symbol = ├─ word value4 ├─ safe_punct & ├─ word param5 ├─ math_symbol = ├─ word value5 ├─ safe_punct & ├─ word param6 ├─ math_symbol = ├─ word value6 ├─ safe_punct & ├─ word param7 ├─ math_symbol = ├─ word value7 ├─ safe_punct & ├─ word param8 ├─ math_symbol = ├─ word value8 ├─ safe_punct & ├─ word param9 ├─ math_symbol = ├─ word value9 ├─ safe_punct & ├─ word param10 ├─ math_symbol = ├─ word value10 ├─ safe_punct & ├─ word param11 ├─ math_symbol = ├─ word value11 ├─ safe_punct & ├─ word param12 ├─ math_symbol = ├─ word value12 ├─ safe_punct & ├─ word param13 ├─ math_symbol = ├─ word value13 ├─ safe_punct & ├─ word param14 ├─ math_symbol = ├─ word value14 ├─ safe_punct & ├─ word param15 ├─ math_symbol = ├─ word value15 ├─ safe_punct & ├─ word param16 ├─ math_symbol = ├─ word value16 ├─ safe_punct & ├─ word param17 ├─ math_symbol = ├─ word value17 ├─ safe_punct & ├─ word param18 ├─ math_symbol = ├─ word value18 ├─ safe_punct & ├─ word param19 ├─ math_symbol = └─ word value19
Example 424
✅ PASSED
Rule: document
http://[2001:db8::1]:8080/path
document http://[2001:db8::1]:8080/path └─ block http://[2001:db8::1]:8080/path └─ paragraph http://[2001:db8::1]:8080/path └─ paragraph_line http://[2001:db8::1]:8080/path └─ inline http://[2001:db8::1]:8080/path └─ inline_core http://[2001:db8::1]:8080/path └─ text http://[2001:db8::1]:8080/path ├─ word http ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word 2001 ├─ safe_punct : ├─ word db8 ├─ safe_punct : ├─ safe_punct : ├─ word 1 ├─ safe_punct : ├─ word 8080 ├─ safe_punct / └─ word path
Example 425
✅ PASSED
Rule: document
http://127.0.0.1:8080/path
document http://127.0.0.1:8080/path └─ block http://127.0.0.1:8080/path └─ paragraph http://127.0.0.1:8080/path └─ paragraph_line http://127.0.0.1:8080/path └─ inline http://127.0.0.1:8080/path └─ inline_core http://127.0.0.1:8080/path └─ text http://127.0.0.1:8080/path ├─ word http ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word 127 ├─ safe_punct . ├─ word 0 ├─ safe_punct . ├─ word 0 ├─ safe_punct . ├─ word 1 ├─ safe_punct : ├─ word 8080 ├─ safe_punct / └─ word path
Comprehensive Marco Grammar Tests - Commonmark Paragraphs 9/9 passed
Example 1105
✅ PASSED
Rule: document
aaa\n\nbbb\n
document aaa\n\nbbb\n ├─ block aaa └─ paragraph aaa └─ paragraph_line aaa └─ inline aaa └─ inline_core aaa └─ text aaa └─ word aaa └─ block \n\nbbb\n └─ unknown_block \n\nbbb\n
Example 1106
✅ PASSED
Rule: document
aaa\nbbb\n\nccc\nddd\n
document aaa\nbbb\n\nccc\nddd\n ├─ block aaa └─ paragraph aaa └─ paragraph_line aaa └─ inline aaa └─ inline_core aaa └─ text aaa └─ word aaa └─ block \nbbb\n\nccc\nddd\n └─ unknown_block \nbbb\n\nccc\nddd\n
Example 1107
✅ PASSED
Rule: document
aaa\n\n\nbbb\n
document aaa\n\n\nbbb\n ├─ block aaa └─ paragraph aaa └─ paragraph_line aaa └─ inline aaa └─ inline_core aaa └─ text aaa └─ word aaa └─ block \n\n\nbbb\n └─ unknown_block \n\n\nbbb\n
Example 1108
✅ PASSED
Rule: document
aaa\n bbb\n
document aaa\n bbb\n ├─ block aaa └─ paragraph aaa └─ paragraph_line aaa └─ inline aaa └─ inline_core aaa └─ text aaa └─ word aaa └─ block \n bbb\n └─ unknown_block \n bbb\n
Example 1109
✅ PASSED
Rule: document
aaa\n bbb\n ccc\n
document aaa\n bbb\n ccc\n ├─ block aaa └─ paragraph aaa └─ paragraph_line aaa └─ inline aaa └─ inline_core aaa └─ text aaa └─ word aaa └─ block \n bbb\n ccc\n └─ unknown_block \n bbb\n ccc\n
Example 1110
✅ PASSED
Rule: document
aaa\nbbb\n
document aaa\nbbb\n ├─ block aaa └─ paragraph aaa └─ paragraph_line aaa └─ inline aaa └─ inline_core aaa └─ text aaa └─ word aaa └─ block \nbbb\n └─ unknown_block \nbbb\n
Example 1111
✅ PASSED
Rule: document
aaa\nbbb\n
document aaa\nbbb\n ├─ block aaa └─ paragraph aaa └─ paragraph_line aaa └─ inline aaa └─ inline_core aaa └─ text aaa └─ word aaa └─ block \nbbb\n └─ unknown_block \nbbb\n
Example 1112
✅ PASSED
Rule: document
aaa \nbbb \n
document aaa \nbbb \n ├─ block aaa └─ paragraph aaa └─ paragraph_line aaa └─ inline aaa └─ inline_core aaa └─ text aaa └─ word aaa └─ block \nbbb \n └─ unknown_block \nbbb \n
Example 1113
✅ PASSED
Rule: document
This is \\*not\\* bold text
document This is \\*not\\* bold text └─ block This is \\*not\\* bold text └─ paragraph This is \\*not\\* bold text └─ paragraph_line This is \\*not\\* bold text ├─ inline This is └─ inline_core This is └─ text This is ├─ word This └─ word is ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ ├─ inline *not\\* └─ inline_core *not\\* └─ emphasis *not\\* └─ italic *not\\* └─ italic_asterisk *not\\* └─ inline bold text └─ inline_core bold text └─ text bold text ├─ word bold └─ word text
Comprehensive Marco Grammar Tests - Bold Italic Combinations 5/5 passed
Example 54
✅ PASSED
Rule: document
***bold and italic***
document ***bold and italic*** ├─ block *** └─ hr *** └─ hr_star *** └─ block bold and italic*** └─ paragraph bold and italic*** └─ paragraph_line bold and italic*** ├─ inline bold and italic └─ inline_core bold and italic └─ text bold and italic ├─ word bold ├─ word and └─ word italic └─ inline *** └─ inline_core *** └─ emphasis *** └─ bold *** └─ bold_asterisk ***
Example 55
✅ PASSED
Rule: document
___bold and italic___
document ___bold and italic___ ├─ block ___ └─ hr ___ └─ hr_underscore ___ └─ block bold and italic___ └─ paragraph bold and italic___ └─ paragraph_line bold and italic___ ├─ inline bold and italic └─ inline_core bold and italic └─ text bold and italic ├─ word bold ├─ word and └─ word italic └─ inline ___ └─ inline_core ___ └─ emphasis ___ └─ bold ___ └─ bold_underscore ___
Example 56
✅ PASSED
Rule: document
**_bold and italic_**
document **_bold and italic_** └─ block **_bold and italic_** └─ paragraph **_bold and italic_** └─ paragraph_line **_bold and italic_** └─ inline **_bold and italic_** └─ inline_core **_bold and italic_** └─ emphasis **_bold and italic_** └─ bold_italic **_bold and italic_** └─ bold_italic_mixed_ast_under **_bold and italic_**
Example 57
✅ PASSED
Rule: document
__*bold and italic*__
document __*bold and italic*__ └─ block __*bold and italic*__ └─ paragraph __*bold and italic*__ └─ paragraph_line __*bold and italic*__ └─ inline __*bold and italic*__ └─ inline_core __*bold and italic*__ └─ emphasis __*bold and italic*__ └─ bold_italic __*bold and italic*__ └─ bold_italic_mixed_under_ast __*bold and italic*__
Example 58
✅ PASSED
Rule: document
***bold italic with underscore___
document ***bold italic with underscore___ ├─ block *** └─ hr *** └─ hr_star *** └─ block bold italic with underscore___ └─ paragraph bold italic with underscore___ └─ paragraph_line bold italic with underscore___ ├─ inline bold italic with underscore └─ inline_core bold italic with underscore └─ text bold italic with underscore ├─ word bold ├─ word italic ├─ word with └─ word underscore └─ inline ___ └─ inline_core ___ └─ emphasis ___ └─ bold ___ └─ bold_underscore ___
Comprehensive Marco Grammar Tests - Text And Words 17/17 passed
Example 1
✅ PASSED
Rule: document
hello
document hello └─ block hello └─ paragraph hello └─ paragraph_line hello └─ inline hello └─ inline_core hello └─ text hello └─ word hello
Example 2
✅ PASSED
Rule: document
hello world test
document hello world test └─ block hello world test └─ paragraph hello world test └─ paragraph_line hello world test └─ inline hello world test └─ inline_core hello world test └─ text hello world test ├─ word hello ├─ word world └─ word test
Example 3
✅ PASSED
Rule: document
can't won't it's
document can't won't it's └─ block can't won't it's └─ paragraph can't won't it's └─ paragraph_line can't won't it's └─ inline can't won't it's └─ inline_core can't won't it's └─ text can't won't it's ├─ word can't ├─ word won't └─ word it's
Example 4
✅ PASSED
Rule: document
well-known state-of-the-art
document well-known state-of-the-art └─ block well-known state-of-the-art └─ paragraph well-known state-of-the-art └─ paragraph_line well-known state-of-the-art └─ inline well-known state-of-the-art └─ inline_core well-known state-of-the-art └─ text well-known state-of-the-art ├─ word well-known └─ word state-of-the-art
Example 5
✅ PASSED
Rule: document
café résumé naïve
document café résumé naïve └─ block café résumé naïve └─ paragraph café résumé naïve └─ paragraph_line café résumé naïve └─ inline café résumé naïve └─ inline_core café résumé naïve └─ text café résumé naïve ├─ word café ├─ word résumé └─ word naïve
Example 6
✅ PASSED
Rule: document
English 中文 العربية русский 日本語
document English 中文 العربية русский 日本語 └─ block English 中文 العربية русский 日本語 └─ paragraph English 中文 العربية русский 日本語 └─ paragraph_line English 中文 العربية русский 日本語 └─ inline English 中文 العربية русский 日本語 └─ inline_core English 中文 العربية русский 日本語 └─ text English 中文 العربية русский 日本語 ├─ word English ├─ word 中文 ├─ word العربية ├─ word русский └─ word 日本語
Example 7
✅ PASSED
Rule: document
Test 123 numbers
document Test 123 numbers └─ block Test 123 numbers └─ paragraph Test 123 numbers └─ paragraph_line Test 123 numbers └─ inline Test 123 numbers └─ inline_core Test 123 numbers └─ text Test 123 numbers ├─ word Test ├─ word 123 └─ word numbers
Example 8
✅ PASSED
Rule: document
π ≈ 3.14 ± 0.01
document π ≈ 3.14 ± 0.01 └─ block π ≈ 3.14 ± 0.01 └─ paragraph π ≈ 3.14 ± 0.01 └─ paragraph_line π ≈ 3.14 ± 0.01 └─ inline π ≈ 3.14 ± 0.01 └─ inline_core π ≈ 3.14 ± 0.01 └─ text π ≈ 3.14 ± 0.01 ├─ word π ├─ math_symbol ├─ word 3 ├─ safe_punct . ├─ word 14 ├─ math_symbol ± ├─ word 0 ├─ safe_punct . └─ word 01
Example 9
✅ PASSED
Rule: document
±√∞∑≈≠≤≥∆παβγλμσΩ+=×÷
document ±√∞∑≈≠≤≥∆παβγλμσΩ+=×÷ └─ block ±√∞∑≈≠≤≥∆παβγλμσΩ+=×÷ └─ paragraph ±√∞∑≈≠≤≥∆παβγλμσΩ+=×÷ └─ paragraph_line ±√∞∑≈≠≤≥∆παβγλμσΩ+=×÷ └─ inline ±√∞∑≈≠≤≥∆παβγλμσΩ+=×÷ └─ inline_core ±√∞∑≈≠≤≥∆παβγλμσΩ+=×÷ └─ text ±√∞∑≈≠≤≥∆παβγλμσΩ+=×÷ ├─ math_symbol ± ├─ math_symbol ├─ math_symbol ├─ math_symbol ├─ math_symbol ├─ math_symbol ├─ math_symbol ├─ math_symbol ├─ math_symbol ├─ word παβγλμσΩ ├─ math_symbol + ├─ math_symbol = ├─ math_symbol × └─ math_symbol ÷
Example 10
✅ PASSED
Rule: document
Hello, world! How are you?
document Hello, world! How are you? └─ block Hello, world! How are you? └─ paragraph Hello, world! How are you? └─ paragraph_line Hello, world! How are you? └─ inline Hello, world! How are you? └─ inline_core Hello, world! How are you? └─ text Hello, world! How are you? ├─ word Hello ├─ safe_punct , ├─ word world ├─ safe_punct ! ├─ word How ├─ word are ├─ word you └─ safe_punct ?
Example 11
✅ PASSED
Rule: document
!@#$%^&*()_+-=[]{}|;:,.<>?
document !@#$%^&*()_+-=[]{}|;:,.<>? ├─ block !@# └─ paragraph !@# └─ paragraph_line !@# └─ inline !@# └─ inline_core !@# └─ text !@# └─ safe_punct ! └─ block $%^&*()_+-=[]{}|;:,.<>? └─ unknown_block $%^&*()_+-=[]{}|;:,.<>?
Example 12
✅ PASSED
Rule: document
*_`#[]~>|$@^=-
document *_`#[]~>|$@^=- └─ block *_`#[]~>|$@^=- └─ paragraph *_`#[]~>|$@^=- └─ paragraph_line *_`#[]~>|$@^=- └─ inline *_`#[]~>|$@^=- └─ inline_core *_`#[]~>|$@^=- └─ emphasis *_`#[]~>|$@^=- └─ italic *_`#[]~>|$@^=- └─ italic_asterisk *_`#[]~>|$@^=-
Example 13
✅ PASSED
Rule: document
document
Example 14
✅ PASSED
Rule: document
document
Example 15
✅ PASSED
Rule: document
\t\t
document \t\t └─ block \t\t └─ unknown_block \t\t
Example 16
✅ PASSED
Rule: document
\t \t
document \t \t └─ block \t \t └─ unknown_block \t \t
Example 17
✅ PASSED
Rule: document
This is a very long text string that should test how the parser handles extended content without any special formatting or markdown syntax just plain text that goes on and on and should continue to parse correctly even with this much content
document This is a very long text string that should test how the parser handles extended content without any special formatting or markdown syntax just plain text that goes on and on and should continue to parse correctly even with this much content └─ block This is a very long text string that should test how the parser handles extended content without any special formatting or markdown syntax just plain text that goes on and on and should continue to parse correctly even with this much content └─ paragraph This is a very long text string that should test how the parser handles extended content without any special formatting or markdown syntax just plain text that goes on and on and should continue to parse correctly even with this much content └─ paragraph_line This is a very long text string that should test how the parser handles extended content without any special formatting or markdown syntax just plain text that goes on and on and should continue to parse correctly even with this much content └─ inline This is a very long text string that should test how the parser handles extended content without any special formatting or markdown syntax just plain text that goes on and on and should continue to parse correctly even with this much content └─ inline_core This is a very long text string that should test how the parser handles extended content without any special formatting or markdown syntax just plain text that goes on and on and should continue to parse correctly even with this much content └─ text This is a very long text string that should test how the parser handles extended content without any special formatting or markdown syntax just plain text that goes on and on and should continue to parse correctly even with this much content ├─ word This ├─ word is ├─ word a ├─ word very ├─ word long ├─ word text ├─ word string ├─ word that ├─ word should ├─ word test ├─ word how ├─ word the ├─ word parser ├─ word handles ├─ word extended ├─ word content ├─ word without ├─ word any ├─ word special ├─ word formatting ├─ word or ├─ word markdown ├─ word syntax ├─ word just ├─ word plain ├─ word text ├─ word that ├─ word goes ├─ word on ├─ word and ├─ word on ├─ word and ├─ word should ├─ word continue ├─ word to ├─ word parse ├─ word correctly ├─ word even ├─ word with ├─ word this ├─ word much └─ word content
Comprehensive Marco Grammar Tests - Marco Stress Tests 7/7 passed
Example 402
✅ PASSED
Rule: document
:::\nnote\nOuter note\n:::\nwarning\nInner warning\n:::\n:::
document :::\nnote\nOuter note\n:::\nwarning\nInner warning\n:::\n::: └─ block :::\nnote\nOuter note\n:::\nwarning\nInner warning\n:::\n::: └─ unknown_block :::\nnote\nOuter note\n:::\nwarning\nInner warning\n:::\n:::
Example 403
✅ PASSED
Rule: document
```run@bash\nfor i in {1..10}; do\n echo \"Line $i\"\n if [ $i -eq 5 ]; then\n break\n fi\ndone\n```
document ```run@bash\nfor i in {1..10}; do\n echo \"Line $i\"\n if [ $i -eq 5 ]; then\n break\n fi\ndone\n``` └─ block ```run@bash\nfor i in {1..10}; do\n echo \"Line $i\"\n if [ $i -eq 5 ]; then\n break\n fi\ndone\n``` └─ unknown_block ```run@bash\nfor i in {1..10}; do\n echo \"Line $i\"\n if [ $i -eq 5 ]; then\n break\n fi\ndone\n```
Example 404
✅ PASSED
Rule: document
@café_user [github.com](Café User Name)
document @café_user [github.com](Café User Name) └─ block @café_user [github.com](Café User Name) └─ paragraph @café_user [github.com](Café User Name) └─ paragraph_line @café_user [github.com](Café User Name) └─ inline @café_user [github.com](Café User Name) └─ inline_core @café_user [github.com](Café User Name) └─ macro_inline @café_user [github.com](Café User Name) └─ user_mention @café_user [github.com](Café User Name) ├─ username café_user ├─ platform github.com └─ display_name Café User Name
Example 405
✅ PASSED
Rule: document
@user_name-123 [platform.sub.domain](Very Long Display Name With Symbols!)
document @user_name-123 [platform.sub.domain](Very Long Display Name With Symbols!) └─ block @user_name-123 [platform.sub.domain](Very Long Display Name With Symbols!) └─ paragraph @user_name-123 [platform.sub.domain](Very Long Display Name With Symbols!) └─ paragraph_line @user_name-123 [platform.sub.domain](Very Long Display Name With Symbols!) └─ inline @user_name-123 [platform.sub.domain](Very Long Display Name With Symbols!) └─ inline_core @user_name-123 [platform.sub.domain](Very Long Display Name With Symbols!) └─ macro_inline @user_name-123 [platform.sub.domain](Very Long Display Name With Symbols!) └─ user_mention @user_name-123 [platform.sub.domain](Very Long Display Name With Symbols!) ├─ username user_name-123 ├─ platform platform.sub.domain └─ display_name Very Long Display Name With Symbols!
Example 406
✅ PASSED
Rule: document
:::\ntab Code Examples\n@tab Python\n```python\nprint('hello')\n```\n@tab Rust\n```rust\nfn main() {}\n```\n:::
document :::\ntab Code Examples\n@tab Python\n```python\nprint('hello')\n```\n@tab Rust\n```rust\nfn main() {}\n```\n::: └─ block :::\ntab Code Examples\n@tab Python\n```python\nprint('hello')\n```\n@tab Rust\n```rust\nfn main() {}\n```\n::: └─ unknown_block :::\ntab Code Examples\n@tab Python\n```python\nprint('hello')\n```\n@tab Rust\n```rust\nfn main() {}\n```\n:::
Example 407
✅ PASSED
Rule: document
[bookmark:section](./very/deep/nested/folder/structure/file.md=999)
document [bookmark:section](./very/deep/nested/folder/structure/file.md=999) └─ block [bookmark:section](./very/deep/nested/folder/structure/file.md=999) └─ macro_block [bookmark:section](./very/deep/nested/folder/structure/file.md=999) └─ bookmark [bookmark:section](./very/deep/nested/folder/structure/file.md=999) ├─ KW_BOOKMARK bookmark └─ local_path ./very/deep/nested/folder/structure/file.md=999
Example 408
✅ PASSED
Rule: document
[toc=3](@doc ../../../deep/nested/docs/guide.md)
document [toc=3](@doc ../../../deep/nested/docs/guide.md) └─ block [toc=3](@doc ../../../deep/nested/docs/guide.md) └─ paragraph [toc=3](@doc ../../../deep/nested/docs/guide.md) └─ paragraph_line [toc=3](@doc ../../../deep/nested/docs/guide.md) ├─ inline [toc=3] └─ inline_core [toc=3] └─ macro_inline [toc=3] └─ toc [toc=3] ├─ KW_TOC toc └─ toc_depth =3 └─ inline (@doc ../../../deep/nested/docs/guide.md) └─ inline_core (@doc ../../../deep/nested/docs/guide.md) └─ text (@doc ../../../deep/nested/docs/guide.md) ├─ safe_punct ( ├─ word doc ├─ safe_punct . ├─ safe_punct . ├─ safe_punct / ├─ safe_punct . ├─ safe_punct . ├─ safe_punct / ├─ safe_punct . ├─ safe_punct . ├─ safe_punct / ├─ word deep ├─ safe_punct / ├─ word nested ├─ safe_punct / ├─ word docs ├─ safe_punct / ├─ word guide ├─ safe_punct . ├─ word md └─ safe_punct )
Comprehensive Marco Grammar Tests - Commonmark Block Quotes 25/25 passed
Example 547
✅ PASSED
Rule: document
> # Foo\n> bar\n> baz\n
document > # Foo\n> bar\n> baz\n ├─ block > # Foo └─ blockquote > # Foo └─ blockquote_line > # Foo └─ inline # Foo └─ inline_core # Foo └─ text # Foo └─ word Foo └─ block \n> bar\n> baz\n └─ unknown_block \n> bar\n> baz\n
Example 548
✅ PASSED
Rule: document
># Foo\n>bar\n> baz\n
document ># Foo\n>bar\n> baz\n ├─ block ># Foo └─ blockquote ># Foo └─ blockquote_line ># Foo └─ inline # Foo └─ inline_core # Foo └─ text # Foo └─ word Foo └─ block \n>bar\n> baz\n └─ unknown_block \n>bar\n> baz\n
Example 549
✅ PASSED
Rule: document
> # Foo\n > bar\n > baz\n
document > # Foo\n > bar\n > baz\n ├─ block > # Foo └─ blockquote > # Foo └─ blockquote_line > # Foo └─ inline # Foo └─ inline_core # Foo └─ text # Foo └─ word Foo └─ block \n > bar\n > baz\n └─ unknown_block \n > bar\n > baz\n
Example 550
✅ PASSED
Rule: document
> # Foo\n > bar\n > baz\n
document > # Foo\n > bar\n > baz\n ├─ block > # Foo └─ blockquote > # Foo └─ blockquote_line > # Foo └─ inline # Foo └─ inline_core # Foo └─ text # Foo └─ word Foo └─ block \n > bar\n > baz\n └─ unknown_block \n > bar\n > baz\n
Example 551
✅ PASSED
Rule: document
> # Foo\n> bar\nbaz\n
document > # Foo\n> bar\nbaz\n ├─ block > # Foo └─ blockquote > # Foo └─ blockquote_line > # Foo └─ inline # Foo └─ inline_core # Foo └─ text # Foo └─ word Foo └─ block \n> bar\nbaz\n └─ unknown_block \n> bar\nbaz\n
Example 552
✅ PASSED
Rule: document
> bar\nbaz\n> foo\n
document > bar\nbaz\n> foo\n ├─ block > bar └─ blockquote > bar └─ blockquote_line > bar └─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ block \nbaz\n> foo\n └─ unknown_block \nbaz\n> foo\n
Example 553
✅ PASSED
Rule: document
> foo\n---\n
document > foo\n---\n ├─ block > foo └─ blockquote > foo └─ blockquote_line > foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n---\n └─ unknown_block \n---\n
Example 554
✅ PASSED
Rule: document
> - foo\n- bar\n
document > - foo\n- bar\n ├─ block > - foo └─ blockquote > - foo └─ blockquote_line > - foo └─ inline - foo └─ inline_core - foo └─ text - foo └─ word foo └─ block \n- bar\n └─ unknown_block \n- bar\n
Example 555
✅ PASSED
Rule: document
> foo\n bar\n
document > foo\n bar\n ├─ block > foo └─ blockquote > foo └─ blockquote_line > foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n bar\n └─ unknown_block \n bar\n
Example 556
✅ PASSED
Rule: document
> ```\nfoo\n```\n
document > ```\nfoo\n```\n ├─ block > └─ blockquote > └─ blockquote_line > └─ block ```\nfoo\n```\n └─ unknown_block ```\nfoo\n```\n
Example 557
✅ PASSED
Rule: document
> foo\n - bar\n
document > foo\n - bar\n ├─ block > foo └─ blockquote > foo └─ blockquote_line > foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n - bar\n └─ unknown_block \n - bar\n
Example 558
✅ PASSED
Rule: document
>\n
document >\n ├─ block > └─ blockquote > └─ blockquote_line > └─ block \n └─ unknown_block \n
Example 559
✅ PASSED
Rule: document
>\n> \n> \n
document >\n> \n> \n ├─ block > └─ blockquote > └─ blockquote_line > └─ block \n> \n> \n └─ unknown_block \n> \n> \n
Example 560
✅ PASSED
Rule: document
>\n> foo\n> \n
document >\n> foo\n> \n ├─ block > └─ blockquote > └─ blockquote_line > └─ block \n> foo\n> \n └─ unknown_block \n> foo\n> \n
Example 561
✅ PASSED
Rule: document
> foo\n\n> bar\n
document > foo\n\n> bar\n ├─ block > foo └─ blockquote > foo └─ blockquote_line > foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n\n> bar\n └─ unknown_block \n\n> bar\n
Example 562
✅ PASSED
Rule: document
> foo\n> bar\n
document > foo\n> bar\n ├─ block > foo └─ blockquote > foo └─ blockquote_line > foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n> bar\n └─ unknown_block \n> bar\n
Example 563
✅ PASSED
Rule: document
> foo\n>\n> bar\n
document > foo\n>\n> bar\n ├─ block > foo └─ blockquote > foo └─ blockquote_line > foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n>\n> bar\n └─ unknown_block \n>\n> bar\n
Example 564
✅ PASSED
Rule: document
foo\n> bar\n
document foo\n> bar\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n> bar\n └─ unknown_block \n> bar\n
Example 565
✅ PASSED
Rule: document
> aaa\n***\n> bbb\n
document > aaa\n***\n> bbb\n ├─ block > aaa └─ blockquote > aaa └─ blockquote_line > aaa └─ inline aaa └─ inline_core aaa └─ text aaa └─ word aaa └─ block \n***\n> bbb\n └─ unknown_block \n***\n> bbb\n
Example 566
✅ PASSED
Rule: document
> bar\nbaz\n
document > bar\nbaz\n ├─ block > bar └─ blockquote > bar └─ blockquote_line > bar └─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ block \nbaz\n └─ unknown_block \nbaz\n
Example 567
✅ PASSED
Rule: document
> bar\n\nbaz\n
document > bar\n\nbaz\n ├─ block > bar └─ blockquote > bar └─ blockquote_line > bar └─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ block \n\nbaz\n └─ unknown_block \n\nbaz\n
Example 568
✅ PASSED
Rule: document
> bar\n>\nbaz\n
document > bar\n>\nbaz\n ├─ block > bar └─ blockquote > bar └─ blockquote_line > bar └─ inline bar └─ inline_core bar └─ text bar └─ word bar └─ block \n>\nbaz\n └─ unknown_block \n>\nbaz\n
Example 569
✅ PASSED
Rule: document
> > > foo\nbar\n
document > > > foo\nbar\n ├─ block > > > foo └─ blockquote > > > foo └─ blockquote_line > > > foo └─ inline > > foo └─ inline_core > > foo └─ text > > foo └─ word foo └─ block \nbar\n └─ unknown_block \nbar\n
Example 570
✅ PASSED
Rule: document
>>> foo\n> bar\n>>baz\n
document >>> foo\n> bar\n>>baz\n ├─ block >>> foo └─ blockquote >>> foo └─ blockquote_line >>> foo └─ inline >> foo └─ inline_core >> foo └─ text >> foo └─ word foo └─ block \n> bar\n>>baz\n └─ unknown_block \n> bar\n>>baz\n
Example 571
✅ PASSED
Rule: document
> code\n\n> not code\n
document > code\n\n> not code\n ├─ block > code └─ blockquote > code └─ blockquote_line > code └─ inline code └─ inline_core code └─ text code └─ word code └─ block \n\n> not code\n └─ unknown_block \n\n> not code\n
Comprehensive Marco Grammar Tests - Page And Doc 10/10 passed
Example 249
✅ PASSED
Rule: document
[page=A4]
document [page=A4] └─ block [page=A4] └─ paragraph [page=A4] └─ paragraph_line [page=A4] └─ inline [page=A4] └─ inline_core [page=A4] └─ macro_inline [page=A4] └─ page_tag [page=A4] ├─ KW_PAGE page └─ page_format A4
Example 250
✅ PASSED
Rule: document
[page=US]
document [page=US] └─ block [page=US] └─ paragraph [page=US] └─ paragraph_line [page=US] └─ inline [page=US] └─ inline_core [page=US] └─ macro_inline [page=US] └─ page_tag [page=US] ├─ KW_PAGE page └─ page_format US
Example 251
✅ PASSED
Rule: document
[page=210]
document [page=210] └─ block [page=210] └─ paragraph [page=210] └─ paragraph_line [page=210] └─ inline [page=210] └─ inline_core [page=210] └─ macro_inline [page=210] └─ page_tag [page=210] ├─ KW_PAGE page └─ page_format 210
Example 252
✅ PASSED
Rule: document
[page=]
document [page=] └─ block [page=] └─ paragraph [page=] └─ paragraph_line [page=] └─ inline [page=] └─ inline_core [page=] └─ macro_inline [page=] └─ page_tag [page=] └─ KW_PAGE page
Example 253
✅ PASSED
Rule: document
[@doc](./document.md)
document [@doc](./document.md) └─ block [@doc](./document.md) └─ paragraph [@doc](./document.md) └─ paragraph_line [@doc](./document.md) └─ inline [@doc](./document.md) └─ inline_core [@doc](./document.md) └─ inline_link [@doc](./document.md) └─ bracket_link_without_title [@doc](./document.md)
Example 254
✅ PASSED
Rule: document
[@doc](../docs/guide/installation.md)
document [@doc](../docs/guide/installation.md) └─ block [@doc](../docs/guide/installation.md) └─ paragraph [@doc](../docs/guide/installation.md) └─ paragraph_line [@doc](../docs/guide/installation.md) └─ inline [@doc](../docs/guide/installation.md) └─ inline_core [@doc](../docs/guide/installation.md) └─ inline_link [@doc](../docs/guide/installation.md) └─ bracket_link_without_title [@doc](../docs/guide/installation.md)
Example 255
✅ PASSED
Rule: document
[toc]
document [toc] └─ block [toc] └─ paragraph [toc] └─ paragraph_line [toc] └─ inline [toc] └─ inline_core [toc] └─ macro_inline [toc] └─ toc [toc] └─ KW_TOC toc
Example 256
✅ PASSED
Rule: document
[toc=2]
document [toc=2] └─ block [toc=2] └─ paragraph [toc=2] └─ paragraph_line [toc=2] └─ inline [toc=2] └─ inline_core [toc=2] └─ macro_inline [toc=2] └─ toc [toc=2] ├─ KW_TOC toc └─ toc_depth =2
Example 257
✅ PASSED
Rule: document
[toc=4]
document [toc=4] └─ block [toc=4] └─ paragraph [toc=4] └─ paragraph_line [toc=4] └─ inline [toc=4] └─ inline_core [toc=4] └─ macro_inline [toc=4] └─ toc [toc=4] ├─ KW_TOC toc └─ toc_depth =4
Example 258
✅ PASSED
Rule: document
[toc](@doc)
document [toc](@doc) └─ block [toc](@doc) └─ paragraph [toc](@doc) └─ paragraph_line [toc](@doc) └─ inline [toc](@doc) └─ inline_core [toc](@doc) └─ macro_inline [toc](@doc) └─ toc [toc](@doc) ├─ KW_TOC toc └─ toc_doc (@doc) └─ KW_DOC doc
Comprehensive Marco Grammar Tests - Commonmark Precedence 1/1 passed
Example 962
✅ PASSED
Rule: document
- `one\n- two`\n
document - `one\n- two`\n └─ block - `one\n- two`\n └─ list - `one\n- two`\n └─ list_item - `one\n- two`\n └─ regular_list_item - `one\n- two`\n ├─ list_marker - └─ list_item_content `one\n- two`\n
Comprehensive Marco Grammar Tests - Security Vectors 17/17 passed
Example 372
✅ PASSED
Rule: document
<script>alert('xss')</script>
document <script>alert('xss')</script> ├─ block <script> └─ block_html <script> └─ block alert('xss')</script> └─ paragraph alert('xss')</script> └─ paragraph_line alert('xss')</script> └─ inline alert('xss')</script> └─ inline_core alert('xss')</script> └─ text alert('xss')</script> ├─ word alert ├─ safe_punct ( ├─ safe_punct ' ├─ word xss ├─ safe_punct ' ├─ safe_punct ) ├─ safe_punct / └─ word script
Example 373
✅ PASSED
Rule: document
<script src=\"malicious.js\"></script>
document <script src=\"malicious.js\"></script> ├─ block <script src=\"malicious.js\"> └─ block_html <script src=\"malicious.js\"> └─ block </script> └─ block_html </script>
Example 374
✅ PASSED
Rule: document
<div onclick=\"alert('xss')\">click</div>
document <div onclick=\"alert('xss')\">click</div> ├─ block <div onclick=\"alert('xss')\"> └─ block_html <div onclick=\"alert('xss')\"> └─ block click</div> └─ paragraph click</div> └─ paragraph_line click</div> └─ inline click</div> └─ inline_core click</div> └─ text click</div> ├─ word click ├─ safe_punct / └─ word div
Example 375
✅ PASSED
Rule: document
[click](javascript:alert('xss'))
document [click](javascript:alert('xss')) └─ block [click](javascript:alert('xss')) └─ paragraph [click](javascript:alert('xss')) └─ paragraph_line [click](javascript:alert('xss')) └─ inline [click](javascript:alert('xss')) └─ inline_core [click](javascript:alert('xss')) └─ text [click](javascript:alert('xss')) ├─ word click ├─ safe_punct ( ├─ word javascript ├─ safe_punct : ├─ word alert ├─ safe_punct ( ├─ safe_punct ' ├─ word xss ├─ safe_punct ' ├─ safe_punct ) └─ safe_punct )
Example 376
✅ PASSED
Rule: document
[click](data:text/html,<script>alert('xss')</script>)
document [click](data:text/html,<script>alert('xss')</script>) └─ block [click](data:text/html,<script>alert('xss')</script>) └─ paragraph [click](data:text/html,<script>alert('xss')</script>) └─ paragraph_line [click](data:text/html,<script>alert('xss')</script>) └─ inline [click](data:text/html,<script>alert('xss')</script>) └─ inline_core [click](data:text/html,<script>alert('xss')</script>) └─ text [click](data:text/html,<script>alert('xss')</script>) ├─ word click ├─ safe_punct ( ├─ word data ├─ safe_punct : ├─ word text ├─ safe_punct / ├─ word html ├─ safe_punct , ├─ word script ├─ word alert ├─ safe_punct ( ├─ safe_punct ' ├─ word xss ├─ safe_punct ' ├─ safe_punct ) ├─ safe_punct / ├─ word script └─ safe_punct )
Example 377
✅ PASSED
Rule: document
<img src=x onerror=alert('xss')>\n**bold**
document <img src=x onerror=alert('xss')>\n**bold** ├─ block <img src=x onerror=alert('xss')> └─ block_html <img src=x onerror=alert('xss')> └─ block \n**bold** └─ unknown_block \n**bold**
Example 378
✅ PASSED
Rule: document
**bold** <script>alert('xss')</script>
document **bold** <script>alert('xss')</script> └─ block **bold** <script>alert('xss')</script> └─ paragraph **bold** <script>alert('xss')</script> └─ paragraph_line **bold** <script>alert('xss')</script> ├─ inline **bold** └─ inline_core **bold** └─ emphasis **bold** └─ bold **bold** └─ bold_asterisk **bold** ├─ inline <script> └─ inline_core <script> └─ inline_link <script> └─ autolink <script> └─ autolink_url <script> └─ link_url script └─ inline alert('xss')</script> └─ inline_core alert('xss')</script> └─ text alert('xss')</script> ├─ word alert ├─ safe_punct ( ├─ safe_punct ' ├─ word xss ├─ safe_punct ' ├─ safe_punct ) ├─ safe_punct / └─ word script
Example 379
✅ PASSED
Rule: document
[text](<img src=x onerror=alert('xss')>)
document [text](<img src=x onerror=alert('xss')>) └─ block [text](<img src=x onerror=alert('xss')>) └─ paragraph [text](<img src=x onerror=alert('xss')>) └─ paragraph_line [text](<img src=x onerror=alert('xss')>) └─ inline [text](<img src=x onerror=alert('xss')>) └─ inline_core [text](<img src=x onerror=alert('xss')>) └─ text [text](<img src=x onerror=alert('xss')>) ├─ word text ├─ safe_punct ( ├─ word img ├─ word src ├─ math_symbol = ├─ word x ├─ word onerror ├─ math_symbol = ├─ word alert ├─ safe_punct ( ├─ safe_punct ' ├─ word xss ├─ safe_punct ' ├─ safe_punct ) └─ safe_punct )
Example 380
✅ PASSED
Rule: document
[link](ftp://malicious.com)
document [link](ftp://malicious.com) └─ block [link](ftp://malicious.com) └─ paragraph [link](ftp://malicious.com) └─ paragraph_line [link](ftp://malicious.com) └─ inline [link](ftp://malicious.com) └─ inline_core [link](ftp://malicious.com) └─ inline_link [link](ftp://malicious.com) └─ bracket_link_without_title [link](ftp://malicious.com)
Example 381
✅ PASSED
Rule: document
[link](file:///etc/passwd)
document [link](file:///etc/passwd) └─ block [link](file:///etc/passwd) └─ paragraph [link](file:///etc/passwd) └─ paragraph_line [link](file:///etc/passwd) └─ inline [link](file:///etc/passwd) └─ inline_core [link](file:///etc/passwd) └─ inline_link [link](file:///etc/passwd) └─ bracket_link_without_title [link](file:///etc/passwd)
Example 382
✅ PASSED
Rule: document
[link](custom://protocol)
document [link](custom://protocol) └─ block [link](custom://protocol) └─ paragraph [link](custom://protocol) └─ paragraph_line [link](custom://protocol) └─ inline [link](custom://protocol) └─ inline_core [link](custom://protocol) └─ inline_link [link](custom://protocol) └─ bracket_link_without_title [link](custom://protocol)
Example 383
✅ PASSED
Rule: document
https://user:pass@evil.com
document https://user:pass@evil.com └─ block https://user:pass@evil.com └─ paragraph https://user:pass@evil.com └─ paragraph_line https://user:pass@evil.com └─ inline https://user:pass@evil.com └─ inline_core https://user:pass@evil.com └─ text https://user:pass@evil.com ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word user ├─ safe_punct : ├─ word pass ├─ word evil ├─ safe_punct . └─ word com
Example 384
✅ PASSED
Rule: document
https://аpple.com" # Punycode attack
document https://аpple.com" # Punycode attack └─ block https://аpple.com" # Punycode attack └─ paragraph https://аpple.com" # Punycode attack └─ paragraph_line https://аpple.com" # Punycode attack └─ inline https://аpple.com" # Punycode attack └─ inline_core https://аpple.com" # Punycode attack └─ text https://аpple.com" # Punycode attack ├─ word https ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ word аpple ├─ safe_punct . ├─ word com ├─ safe_punct " ├─ word Punycode └─ word attack
Example 385
✅ PASSED
Rule: document
file://../../etc/passwd
document file://../../etc/passwd └─ block file://../../etc/passwd └─ paragraph file://../../etc/passwd └─ paragraph_line file://../../etc/passwd └─ inline file://../../etc/passwd └─ inline_core file://../../etc/passwd └─ text file://../../etc/passwd ├─ word file ├─ safe_punct : ├─ safe_punct / ├─ safe_punct / ├─ safe_punct . ├─ safe_punct . ├─ safe_punct / ├─ safe_punct . ├─ safe_punct . ├─ safe_punct / ├─ word etc ├─ safe_punct / └─ word passwd
Example 386
✅ PASSED
Rule: document
[download.pdf](malicious.exe)
document [download.pdf](malicious.exe) └─ block [download.pdf](malicious.exe) └─ paragraph [download.pdf](malicious.exe) └─ paragraph_line [download.pdf](malicious.exe) └─ inline [download.pdf](malicious.exe) └─ inline_core [download.pdf](malicious.exe) └─ inline_link [download.pdf](malicious.exe) └─ bracket_link_without_title [download.pdf](malicious.exe)
Example 387
✅ PASSED
Rule: document
[google.com](https://evil.com)
document [google.com](https://evil.com) └─ block [google.com](https://evil.com) └─ paragraph [google.com](https://evil.com) └─ paragraph_line [google.com](https://evil.com) └─ inline [google.com](https://evil.com) └─ inline_core [google.com](https://evil.com) └─ inline_link [google.com](https://evil.com) └─ bracket_link_without_title [google.com](https://evil.com)
Example 388
✅ PASSED
Rule: document
[аpple.com](https://evil.com)" # Cyrillic 'а'
document [аpple.com](https://evil.com)" # Cyrillic 'а' └─ block [аpple.com](https://evil.com)" # Cyrillic 'а' └─ paragraph [аpple.com](https://evil.com)" # Cyrillic 'а' └─ paragraph_line [аpple.com](https://evil.com)" # Cyrillic 'а' ├─ inline [аpple.com](https://evil.com) └─ inline_core [аpple.com](https://evil.com) └─ inline_link [аpple.com](https://evil.com) └─ bracket_link_without_title [аpple.com](https://evil.com) └─ inline " # Cyrillic 'а' └─ inline_core " # Cyrillic 'а' └─ text " # Cyrillic 'а' ├─ safe_punct " ├─ word Cyrillic ├─ safe_punct ' ├─ word а └─ safe_punct '
Comprehensive Marco Grammar Tests - Regression Tests 12/12 passed
Example 440
✅ PASSED
Rule: document
_emphasis_with_underscores_inside_
document _emphasis_with_underscores_inside_ ├─ block _emphasis_with_underscores_inside └─ paragraph _emphasis_with_underscores_inside └─ paragraph_line _emphasis_with_underscores_inside ├─ inline _emphasis_ └─ inline_core _emphasis_ └─ emphasis _emphasis_ └─ italic _emphasis_ └─ italic_underscore _emphasis_ ├─ inline with └─ inline_core with └─ text with └─ word with ├─ inline _underscores_ └─ inline_core _underscores_ └─ emphasis _underscores_ └─ italic _underscores_ └─ italic_underscore _underscores_ └─ inline inside └─ inline_core inside └─ text inside └─ word inside └─ block _ └─ unknown_block _
Example 441
✅ PASSED
Rule: document
*[link](url) in emphasis*
document *[link](url) in emphasis* └─ block *[link](url) in emphasis* └─ paragraph *[link](url) in emphasis* └─ paragraph_line *[link](url) in emphasis* └─ inline *[link](url) in emphasis* └─ inline_core *[link](url) in emphasis* └─ emphasis *[link](url) in emphasis* └─ italic *[link](url) in emphasis* └─ italic_asterisk *[link](url) in emphasis*
Example 442
✅ PASSED
Rule: document
[`code` in link](url)
document [`code` in link](url) └─ block [`code` in link](url) └─ paragraph [`code` in link](url) └─ paragraph_line [`code` in link](url) └─ inline [`code` in link](url) └─ inline_core [`code` in link](url) └─ inline_link [`code` in link](url) └─ bracket_link_without_title [`code` in link](url)
Example 443
✅ PASSED
Rule: document
> > > Quote with `code` and *emphasis*
document > > > Quote with `code` and *emphasis* └─ block > > > Quote with `code` and *emphasis* └─ blockquote > > > Quote with `code` and *emphasis* └─ blockquote_line > > > Quote with `code` and *emphasis* ├─ inline > > Quote with └─ inline_core > > Quote with └─ text > > Quote with ├─ word Quote └─ word with ├─ inline `code` └─ inline_core `code` └─ code_inline `code` ├─ inline and └─ inline_core and └─ text and └─ word and └─ inline *emphasis* └─ inline_core *emphasis* └─ emphasis *emphasis* └─ italic *emphasis* └─ italic_asterisk *emphasis*
Example 444
✅ PASSED
Rule: document
| Left | Center | Right |\n|:-----|:------:|------:|\n| A | B | C |
document | Left | Center | Right |\n|:-----|:------:|------:|\n| A | B | C | └─ block | Left | Center | Right |\n|:-----|:------:|------:|\n| A | B | C | └─ unknown_block | Left | Center | Right |\n|:-----|:------:|------:|\n| A | B | C |
Example 445
✅ PASSED
Rule: document
1. First item\n\n Continued paragraph\n\n2. Second item
document 1. First item\n\n Continued paragraph\n\n2. Second item └─ block 1. First item\n\n Continued paragraph\n\n2. Second item └─ list 1. First item\n\n Continued paragraph\n\n2. Second item └─ list_item 1. First item\n\n Continued paragraph\n\n2. Second item └─ regular_list_item 1. First item\n\n Continued paragraph\n\n2. Second item ├─ list_marker 1. └─ list_item_content First item\n\n Continued paragraph\n\n2. Second item
Example 446
✅ PASSED
Rule: document
*Emphasized* heading\n===================
document *Emphasized* heading\n=================== ├─ block *Emphasized* heading └─ paragraph *Emphasized* heading └─ paragraph_line *Emphasized* heading ├─ inline *Emphasized* └─ inline_core *Emphasized* └─ emphasis *Emphasized* └─ italic *Emphasized* └─ italic_asterisk *Emphasized* └─ inline heading └─ inline_core heading └─ text heading └─ word heading └─ block \n=================== └─ unknown_block \n===================
Example 447
✅ PASSED
Rule: document
<!-- This is a\nmultiline comment\nwith **markdown** inside -->
document <!-- This is a\nmultiline comment\nwith **markdown** inside --> └─ block <!-- This is a\nmultiline comment\nwith **markdown** inside -->
Example 448
✅ PASSED
Rule: document
[link](url \"title with 'quotes'\")
document [link](url \"title with 'quotes'\") ├─ block [link](url └─ paragraph [link](url └─ paragraph_line [link](url └─ inline [link](url └─ inline_core [link](url └─ text [link](url ├─ word link ├─ safe_punct ( └─ word url └─ block \"title with 'quotes'\") └─ unknown_block \"title with 'quotes'\")
Example 449
✅ PASSED
Rule: document
[FOO][bar]\n[bar]: /url
document [FOO][bar]\n[bar]: /url ├─ block [FOO][bar] └─ reference_link [FOO][bar] ├─ block_caption FOO └─ block_caption bar └─ block \n[bar]: /url └─ unknown_block \n[bar]: /url
Example 450
✅ PASSED
Rule: document
<HTTP://EXAMPLE.COM>
document <HTTP://EXAMPLE.COM> └─ block <HTTP://EXAMPLE.COM> └─ block_html <HTTP://EXAMPLE.COM>
Example 451
✅ PASSED
Rule: document
[link](url?param=value&other=2)
document [link](url?param=value&amp;other=2) └─ block [link](url?param=value&amp;other=2) └─ paragraph [link](url?param=value&amp;other=2) └─ paragraph_line [link](url?param=value&amp;other=2) └─ inline [link](url?param=value&amp;other=2) └─ inline_core [link](url?param=value&amp;other=2) └─ text [link](url?param=value&amp;other=2) ├─ word link ├─ safe_punct ( ├─ word url ├─ safe_punct ? ├─ word param ├─ math_symbol = ├─ word value ├─ safe_punct & ├─ word amp ├─ safe_punct ; ├─ word other ├─ math_symbol = ├─ word 2 └─ safe_punct )
Comprehensive Marco Grammar Tests - Commonmark Conformance 36/36 passed
Example 452
✅ PASSED
Rule: document
# foo
document # foo └─ block # foo └─ heading # foo └─ H1 # foo └─ heading_content foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo
Example 453
✅ PASSED
Rule: document
## foo
document ## foo └─ block ## foo └─ heading ## foo └─ H2 ## foo └─ heading_content foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo
Example 454
✅ PASSED
Rule: document
###### foo
document ###### foo └─ block ###### foo └─ heading ###### foo └─ H6 ###### foo └─ heading_content foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo
Example 455
✅ PASSED
Rule: document
#5 bolt
document #5 bolt └─ block #5 bolt └─ heading #5 bolt └─ H1 #5 bolt └─ heading_content 5 bolt └─ inline 5 bolt └─ inline_core 5 bolt └─ text 5 bolt ├─ word 5 └─ word bolt
Example 456
✅ PASSED
Rule: document
\\## foo
document \\## foo └─ block \\## foo └─ paragraph \\## foo └─ paragraph_line \\## foo ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline ## foo └─ inline_core ## foo └─ text ## foo └─ word foo
Example 457
✅ PASSED
Rule: document
# foo *bar* \\*baz\\*
document # foo *bar* \\*baz\\* └─ block # foo *bar* \\*baz\\* └─ heading # foo *bar* \\*baz\\* └─ H1 # foo *bar* \\*baz\\* └─ heading_content foo *bar* \\*baz\\* ├─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* ├─ inline \\ └─ inline_core \\ └─ escaped_char \\ └─ inline *baz\\* └─ inline_core *baz\\* └─ emphasis *baz\\* └─ italic *baz\\* └─ italic_asterisk *baz\\*
Example 458
✅ PASSED
Rule: document
# foo
document # foo └─ block # foo └─ heading # foo └─ H1 # foo └─ heading_content foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo
Example 459
✅ PASSED
Rule: document
### foo ###
document ### foo ### └─ block ### foo ### └─ heading ### foo ### └─ H3 ### foo ### └─ heading_content foo ### └─ inline foo ### └─ inline_core foo ### └─ text foo ### └─ word foo
Example 460
✅ PASSED
Rule: document
### foo ####
document ### foo #### └─ block ### foo #### └─ heading ### foo #### └─ H3 ### foo #### └─ heading_content foo #### └─ inline foo #### └─ inline_core foo #### └─ text foo #### └─ word foo
Example 461
✅ PASSED
Rule: document
Foo\n===
document Foo\n=== ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n=== └─ unknown_block \n===
Example 462
✅ PASSED
Rule: document
Foo\n---
document Foo\n--- ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n--- └─ unknown_block \n---
Example 463
✅ PASSED
Rule: document
Foo *bar*\n=========
document Foo *bar*\n========= ├─ block Foo *bar* └─ paragraph Foo *bar* └─ paragraph_line Foo *bar* ├─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ block \n========= └─ unknown_block \n=========
Example 464
✅ PASSED
Rule: document
Foo\n=========================
document Foo\n========================= ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n========================= └─ unknown_block \n=========================
Example 465
✅ PASSED
Rule: document
Foo\n---
document Foo\n--- ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n--- └─ unknown_block \n---
Example 466
✅ PASSED
Rule: document
Foo\n ===
document Foo\n === ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n === └─ unknown_block \n ===
Example 467
✅ PASSED
Rule: document
Foo\nBar\n---
document Foo\nBar\n--- ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \nBar\n--- └─ unknown_block \nBar\n---
Example 468
✅ PASSED
Rule: document
*foo bar*
document *foo bar* └─ block *foo bar* └─ paragraph *foo bar* └─ paragraph_line *foo bar* └─ inline *foo bar* └─ inline_core *foo bar* └─ emphasis *foo bar* └─ italic *foo bar* └─ italic_asterisk *foo bar*
Example 469
✅ PASSED
Rule: document
_foo bar_
document _foo bar_ └─ block _foo bar_ └─ paragraph _foo bar_ └─ paragraph_line _foo bar_ └─ inline _foo bar_ └─ inline_core _foo bar_ └─ emphasis _foo bar_ └─ italic _foo bar_ └─ italic_underscore _foo bar_
Example 470
✅ PASSED
Rule: document
**foo bar**
document **foo bar** └─ block **foo bar** └─ paragraph **foo bar** └─ paragraph_line **foo bar** └─ inline **foo bar** └─ inline_core **foo bar** └─ emphasis **foo bar** └─ bold **foo bar** └─ bold_asterisk **foo bar**
Example 471
✅ PASSED
Rule: document
__foo bar__
document __foo bar__ └─ block __foo bar__ └─ paragraph __foo bar__ └─ paragraph_line __foo bar__ └─ inline __foo bar__ └─ inline_core __foo bar__ └─ emphasis __foo bar__ └─ bold __foo bar__ └─ bold_underscore __foo bar__
Example 472
✅ PASSED
Rule: document
*foo **bar** baz*
document *foo **bar** baz* └─ block *foo **bar** baz* └─ paragraph *foo **bar** baz* └─ paragraph_line *foo **bar** baz* ├─ inline *foo * └─ inline_core *foo * └─ emphasis *foo * └─ italic *foo * └─ italic_asterisk *foo * ├─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ inline * baz* └─ inline_core * baz* └─ emphasis * baz* └─ italic * baz* └─ italic_asterisk * baz*
Example 473
✅ PASSED
Rule: document
foo*bar*baz
document foo*bar*baz └─ block foo*bar*baz └─ paragraph foo*bar*baz └─ paragraph_line foo*bar*baz ├─ inline foo └─ inline_core foo └─ text foo └─ word foo ├─ inline *bar* └─ inline_core *bar* └─ emphasis *bar* └─ italic *bar* └─ italic_asterisk *bar* └─ inline baz └─ inline_core baz └─ text baz └─ word baz
Example 474
✅ PASSED
Rule: document
*foo.*
document *foo.* └─ block *foo.* └─ paragraph *foo.* └─ paragraph_line *foo.* └─ inline *foo.* └─ inline_core *foo.* └─ emphasis *foo.* └─ italic *foo.* └─ italic_asterisk *foo.*
Example 475
✅ PASSED
Rule: document
*foo\nbar*
document *foo\nbar* └─ block *foo\nbar* └─ paragraph *foo\nbar* └─ paragraph_line *foo\nbar* └─ inline *foo\nbar* └─ inline_core *foo\nbar* └─ emphasis *foo\nbar* └─ italic *foo\nbar* └─ italic_asterisk *foo\nbar*
Example 476
✅ PASSED
Rule: document
[link](/uri)
document [link](/uri) └─ block [link](/uri) └─ paragraph [link](/uri) └─ paragraph_line [link](/uri) └─ inline [link](/uri) └─ inline_core [link](/uri) └─ inline_link [link](/uri) └─ bracket_link_without_title [link](/uri)
Example 477
✅ PASSED
Rule: document
[link](/uri \"title\")
document [link](/uri \"title\") └─ block [link](/uri \"title\") └─ paragraph [link](/uri \"title\") └─ paragraph_line [link](/uri \"title\") └─ inline [link](/uri \"title\") └─ inline_core [link](/uri \"title\") └─ inline_link [link](/uri \"title\") └─ bracket_link_without_title [link](/uri \"title\")
Example 478
✅ PASSED
Rule: document
[]()
document []() └─ block []() └─ paragraph []() └─ paragraph_line []() └─ inline []() └─ inline_core []() └─ text []() ├─ safe_punct ( └─ safe_punct )
Example 479
✅ PASSED
Rule: document
[link](/uri(and(nested)))
document [link](/uri(and(nested))) └─ block [link](/uri(and(nested))) └─ paragraph [link](/uri(and(nested))) └─ paragraph_line [link](/uri(and(nested))) ├─ inline [link](/uri(and(nested) └─ inline_core [link](/uri(and(nested) └─ inline_link [link](/uri(and(nested) └─ bracket_link_without_title [link](/uri(and(nested) └─ inline )) └─ inline_core )) └─ text )) ├─ safe_punct ) └─ safe_punct )
Example 480
✅ PASSED
Rule: document
[link](/uri\\(paren\\))
document [link](/uri\\(paren\\)) └─ block [link](/uri\\(paren\\)) └─ paragraph [link](/uri\\(paren\\)) └─ paragraph_line [link](/uri\\(paren\\)) ├─ inline [link](/uri\\(paren\\) └─ inline_core [link](/uri\\(paren\\) └─ inline_link [link](/uri\\(paren\\) └─ bracket_link_without_title [link](/uri\\(paren\\) └─ inline ) └─ inline_core ) └─ text ) └─ safe_punct )
Example 481
✅ PASSED
Rule: document
<http://foo.bar.baz>
document <http://foo.bar.baz> └─ block <http://foo.bar.baz> └─ block_html <http://foo.bar.baz>
Example 482
✅ PASSED
Rule: document
<foo@bar.example.com>
document <foo@bar.example.com> └─ block <foo@bar.example.com> └─ block_html <foo@bar.example.com>
Example 483
✅ PASSED
Rule: document
`foo`
document `foo` └─ block `foo` └─ paragraph `foo` └─ paragraph_line `foo` └─ inline `foo` └─ inline_core `foo` └─ code_inline `foo`
Example 484
✅ PASSED
Rule: document
`` foo ` bar ``
document `` foo ` bar `` └─ block `` foo ` bar `` └─ paragraph `` foo ` bar `` └─ paragraph_line `` foo ` bar `` ├─ inline ` └─ inline_core ` └─ text ` ├─ inline ` foo ` └─ inline_core ` foo ` └─ code_inline ` foo ` └─ inline bar `` └─ inline_core bar `` └─ text bar `` └─ word bar
Example 485
✅ PASSED
Rule: document
` `` `
document ` `` ` └─ block ` `` ` └─ paragraph ` `` ` └─ paragraph_line ` `` ` ├─ inline ` ` └─ inline_core ` ` └─ code_inline ` ` └─ inline ` ` └─ inline_core ` ` └─ code_inline ` `
Example 486
✅ PASSED
Rule: document
` `
document ` ` └─ block ` ` └─ paragraph ` ` └─ paragraph_line ` ` └─ inline ` ` └─ inline_core ` ` └─ code_inline ` `
Example 487
✅ PASSED
Rule: document
`foo bar \nbaz`
document `foo bar \nbaz` └─ block `foo bar \nbaz` └─ paragraph `foo bar \nbaz` └─ paragraph_line `foo bar \nbaz` └─ inline `foo bar \nbaz` └─ inline_core `foo bar \nbaz` └─ code_inline `foo bar \nbaz`
Comprehensive Marco Grammar Tests - Definition Lists 3/3 passed
Example 179
✅ PASSED
Rule: document
Term\n: Definition
document Term\n: Definition ├─ block Term └─ paragraph Term └─ paragraph_line Term └─ inline Term └─ inline_core Term └─ text Term └─ word Term └─ block \n: Definition └─ unknown_block \n: Definition
Example 180
✅ PASSED
Rule: document
Term\n: First definition\n: Second definition
document Term\n: First definition\n: Second definition ├─ block Term └─ paragraph Term └─ paragraph_line Term └─ inline Term └─ inline_core Term └─ text Term └─ word Term └─ block \n: First definition\n: Second definition └─ unknown_block \n: First definition\n: Second definition
Example 181
✅ PASSED
Rule: document
Complex Term\n: A very detailed definition that explains the term
document Complex Term\n: A very detailed definition that explains the term ├─ block Complex Term └─ paragraph Complex Term └─ paragraph_line Complex Term └─ inline Complex Term └─ inline_core Complex Term └─ text Complex Term ├─ word Complex └─ word Term └─ block \n: A very detailed definition that explains the term └─ unknown_block \n: A very detailed definition that explains the term
Comprehensive Marco Grammar Tests - Commonmark Indented Code Blocks 12/12 passed
Example 1062
✅ PASSED
Rule: document
a simple\n indented code block\n
document a simple\n indented code block\n ├─ block a simple └─ paragraph a simple └─ paragraph_line a simple └─ inline a simple └─ inline_core a simple └─ text a simple ├─ word a └─ word simple └─ block \n indented code block\n └─ unknown_block \n indented code block\n
Example 1063
✅ PASSED
Rule: document
- foo\n\n bar\n
document - foo\n\n bar\n └─ block - foo\n\n bar\n └─ list - foo\n\n bar\n └─ list_item - foo\n\n bar\n └─ regular_list_item - foo\n\n bar\n ├─ list_marker - └─ list_item_content foo\n\n bar\n
Example 1064
✅ PASSED
Rule: document
1. foo\n\n - bar\n
document 1. foo\n\n - bar\n └─ block 1. foo\n\n - bar\n └─ list 1. foo\n\n - bar\n └─ list_item 1. foo\n\n - bar\n └─ regular_list_item 1. foo\n\n - bar\n ├─ list_marker 1. └─ list_item_content foo\n\n - bar\n
Example 1065
✅ PASSED
Rule: document
<a/>\n *hi*\n\n - one\n
document <a/>\n *hi*\n\n - one\n ├─ block <a/> └─ block_html <a/> └─ block \n *hi*\n\n - one\n └─ unknown_block \n *hi*\n\n - one\n
Example 1066
✅ PASSED
Rule: document
chunk1\n\n chunk2\n \n \n \n chunk3\n
document chunk1\n\n chunk2\n \n \n \n chunk3\n ├─ block chunk1 └─ paragraph chunk1 └─ paragraph_line chunk1 └─ inline chunk1 └─ inline_core chunk1 └─ text chunk1 └─ word chunk1 └─ block \n\n chunk2\n \n \n \n chunk3\n └─ unknown_block \n\n chunk2\n \n \n \n chunk3\n
Example 1067
✅ PASSED
Rule: document
chunk1\n \n chunk2\n
document chunk1\n \n chunk2\n ├─ block chunk1 └─ paragraph chunk1 └─ paragraph_line chunk1 └─ inline chunk1 └─ inline_core chunk1 └─ text chunk1 └─ word chunk1 └─ block \n \n chunk2\n └─ unknown_block \n \n chunk2\n
Example 1068
✅ PASSED
Rule: document
Foo\n bar\n\n
document Foo\n bar\n\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n bar\n\n └─ unknown_block \n bar\n\n
Example 1069
✅ PASSED
Rule: document
foo\nbar\n
document foo\nbar\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \nbar\n └─ unknown_block \nbar\n
Example 1070
✅ PASSED
Rule: document
# Heading\n foo\nHeading\n------\n foo\n----\n
document # Heading\n foo\nHeading\n------\n foo\n----\n ├─ block # Heading └─ heading # Heading └─ H1 # Heading └─ heading_content Heading └─ inline Heading └─ inline_core Heading └─ text Heading └─ word Heading └─ block \n foo\nHeading\n------\n foo\n----\n └─ unknown_block \n foo\nHeading\n------\n foo\n----\n
Example 1071
✅ PASSED
Rule: document
foo\n bar\n
document foo\n bar\n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n bar\n └─ unknown_block \n bar\n
Example 1072
✅ PASSED
Rule: document
\n \n foo\n \n\n
document \n \n foo\n \n\n └─ block \n \n foo\n \n\n └─ unknown_block \n \n foo\n \n\n
Example 1073
✅ PASSED
Rule: document
foo \n
document foo \n ├─ block foo └─ paragraph foo └─ paragraph_line foo └─ inline foo └─ inline_core foo └─ text foo └─ word foo └─ block \n └─ unknown_block \n
Comprehensive Marco Grammar Tests - Commonmark Entity And Numeric Character References 17/17 passed
Example 583
✅ PASSED
Rule: document
  & © Æ Ď\n¾ ℋ ⅆ\n∲ ≧̸\n
document &nbsp; &amp; &copy; &AElig; &Dcaron;\n&frac34; &HilbertSpace; &DifferentialD;\n&ClockwiseContourIntegral; &ngE;\n ├─ block &nbsp; &amp; &copy; &AElig; &Dcaron; └─ paragraph &nbsp; &amp; &copy; &AElig; &Dcaron; └─ paragraph_line &nbsp; &amp; &copy; &AElig; &Dcaron; └─ inline &nbsp; &amp; &copy; &AElig; &Dcaron; └─ inline_core &nbsp; &amp; &copy; &AElig; &Dcaron; └─ text &nbsp; &amp; &copy; &AElig; &Dcaron; ├─ safe_punct & ├─ word nbsp ├─ safe_punct ; ├─ safe_punct & ├─ word amp ├─ safe_punct ; ├─ safe_punct & ├─ word copy ├─ safe_punct ; ├─ safe_punct & ├─ word AElig ├─ safe_punct ; ├─ safe_punct & ├─ word Dcaron └─ safe_punct ; └─ block \n&frac34; &HilbertSpace; &DifferentialD;\n&ClockwiseContourIntegral; &ngE;\n └─ unknown_block \n&frac34; &HilbertSpace; &DifferentialD;\n&ClockwiseContourIntegral; &ngE;\n
Example 584
✅ PASSED
Rule: document
# Ӓ Ϡ �\n
document &#35; &#1234; &#992; &#0;\n ├─ block &#35; &#1234; &#992; &#0; └─ paragraph &#35; &#1234; &#992; &#0; └─ paragraph_line &#35; &#1234; &#992; &#0; └─ inline &#35; &#1234; &#992; &#0; └─ inline_core &#35; &#1234; &#992; &#0; └─ text &#35; &#1234; &#992; &#0; ├─ safe_punct & ├─ word 35 ├─ safe_punct ; ├─ safe_punct & ├─ word 1234 ├─ safe_punct ; ├─ safe_punct & ├─ word 992 ├─ safe_punct ; ├─ safe_punct & ├─ word 0 └─ safe_punct ; └─ block \n └─ unknown_block \n
Example 585
✅ PASSED
Rule: document
" ആ ಫ\n
document &#X22; &#XD06; &#xcab;\n ├─ block &#X22; &#XD06; &#xcab; └─ paragraph &#X22; &#XD06; &#xcab; └─ paragraph_line &#X22; &#XD06; &#xcab; └─ inline &#X22; &#XD06; &#xcab; └─ inline_core &#X22; &#XD06; &#xcab; └─ text &#X22; &#XD06; &#xcab; ├─ safe_punct & ├─ word X22 ├─ safe_punct ; ├─ safe_punct & ├─ word XD06 ├─ safe_punct ; ├─ safe_punct & ├─ word xcab └─ safe_punct ; └─ block \n └─ unknown_block \n
Example 586
✅ PASSED
Rule: document
  &x; &#; &#x;\n�\n&#abcdef0;\n&ThisIsNotDefined; &hi?;\n
document &nbsp &x; &#; &#x;\n&#87654321;\n&#abcdef0;\n&ThisIsNotDefined; &hi?;\n ├─ block &nbsp &x; &#; &#x; └─ paragraph &nbsp &x; &#; &#x; └─ paragraph_line &nbsp &x; &#; &#x; └─ inline &nbsp &x; &#; &#x; └─ inline_core &nbsp &x; &#; &#x; └─ text &nbsp &x; &#; &#x; ├─ safe_punct & ├─ word nbsp ├─ safe_punct & ├─ word x ├─ safe_punct ; ├─ safe_punct & ├─ safe_punct ; ├─ safe_punct & ├─ word x └─ safe_punct ; └─ block \n&#87654321;\n&#abcdef0;\n&ThisIsNotDefined; &hi?;\n └─ unknown_block \n&#87654321;\n&#abcdef0;\n&ThisIsNotDefined; &hi?;\n
Example 587
✅ PASSED
Rule: document
©\n
document &copy\n ├─ block &copy └─ paragraph &copy └─ paragraph_line &copy └─ inline &copy └─ inline_core &copy └─ text &copy ├─ safe_punct & └─ word copy └─ block \n └─ unknown_block \n
Example 588
✅ PASSED
Rule: document
&MadeUpEntity;\n
document &MadeUpEntity;\n ├─ block &MadeUpEntity; └─ paragraph &MadeUpEntity; └─ paragraph_line &MadeUpEntity; └─ inline &MadeUpEntity; └─ inline_core &MadeUpEntity; └─ text &MadeUpEntity; ├─ safe_punct & ├─ word MadeUpEntity └─ safe_punct ; └─ block \n └─ unknown_block \n
Example 589
✅ PASSED
Rule: document
<a href=\"öö.html\">\n
document <a href=\"&ouml;&ouml;.html\">\n ├─ block <a href=\"&ouml;&ouml;.html\"> └─ block_html <a href=\"&ouml;&ouml;.html\"> └─ block \n └─ unknown_block \n
Example 590
✅ PASSED
Rule: document
[foo](/föö \"föö\")\n
document [foo](/f&ouml;&ouml; \"f&ouml;&ouml;\")\n ├─ block [foo](/f&ouml;&ouml; \"f&ouml;&ouml;\") └─ paragraph [foo](/f&ouml;&ouml; \"f&ouml;&ouml;\") └─ paragraph_line [foo](/f&ouml;&ouml; \"f&ouml;&ouml;\") └─ inline [foo](/f&ouml;&ouml; \"f&ouml;&ouml;\") └─ inline_core [foo](/f&ouml;&ouml; \"f&ouml;&ouml;\") └─ inline_link [foo](/f&ouml;&ouml; \"f&ouml;&ouml;\") └─ bracket_link_without_title [foo](/f&ouml;&ouml; \"f&ouml;&ouml;\") └─ block \n └─ unknown_block \n
Example 591
✅ PASSED
Rule: document
[foo]\n\n[foo]: /föö \"föö\"\n
document [foo]\n\n[foo]: /f&ouml;&ouml; \"f&ouml;&ouml;\"\n ├─ block [foo] └─ paragraph [foo] └─ paragraph_line [foo] └─ inline [foo] └─ inline_core [foo] └─ text [foo] └─ word foo └─ block \n\n[foo]: /f&ouml;&ouml; \"f&ouml;&ouml;\"\n └─ unknown_block \n\n[foo]: /f&ouml;&ouml; \"f&ouml;&ouml;\"\n
Example 592
✅ PASSED
Rule: document
``` föö\nfoo\n```\n
document ``` f&ouml;&ouml;\nfoo\n```\n └─ block ``` f&ouml;&ouml;\nfoo\n```\n └─ unknown_block ``` f&ouml;&ouml;\nfoo\n```\n
Example 593
✅ PASSED
Rule: document
`föö`\n
document `f&ouml;&ouml;`\n ├─ block `f&ouml;&ouml;` └─ paragraph `f&ouml;&ouml;` └─ paragraph_line `f&ouml;&ouml;` └─ inline `f&ouml;&ouml;` └─ inline_core `f&ouml;&ouml;` └─ code_inline `f&ouml;&ouml;` └─ block \n └─ unknown_block \n
Example 594
✅ PASSED
Rule: document
föfö\n
document f&ouml;f&ouml;\n ├─ block f&ouml;f&ouml; └─ paragraph f&ouml;f&ouml; └─ paragraph_line f&ouml;f&ouml; └─ inline f&ouml;f&ouml; └─ inline_core f&ouml;f&ouml; └─ text f&ouml;f&ouml; ├─ word f ├─ safe_punct & ├─ word ouml ├─ safe_punct ; ├─ word f ├─ safe_punct & ├─ word ouml └─ safe_punct ; └─ block \n └─ unknown_block \n
Example 595
✅ PASSED
Rule: document
*foo*\n*foo*\n
document &#42;foo&#42;\n*foo*\n ├─ block &#42;foo&#42; └─ paragraph &#42;foo&#42; └─ paragraph_line &#42;foo&#42; └─ inline &#42;foo&#42; └─ inline_core &#42;foo&#42; └─ text &#42;foo&#42; ├─ safe_punct & ├─ word 42 ├─ safe_punct ; ├─ word foo ├─ safe_punct & ├─ word 42 └─ safe_punct ; └─ block \n*foo*\n └─ unknown_block \n*foo*\n
Example 596
✅ PASSED
Rule: document
* foo\n\n* foo\n
document &#42; foo\n\n* foo\n ├─ block &#42; foo └─ paragraph &#42; foo └─ paragraph_line &#42; foo └─ inline &#42; foo └─ inline_core &#42; foo └─ text &#42; foo ├─ safe_punct & ├─ word 42 ├─ safe_punct ; └─ word foo └─ block \n\n* foo\n └─ unknown_block \n\n* foo\n
Example 597
✅ PASSED
Rule: document
foo bar\n
document foo&#10;&#10;bar\n ├─ block foo&#10;&#10;bar └─ paragraph foo&#10;&#10;bar └─ paragraph_line foo&#10;&#10;bar └─ inline foo&#10;&#10;bar └─ inline_core foo&#10;&#10;bar └─ text foo&#10;&#10;bar ├─ word foo ├─ safe_punct & ├─ word 10 ├─ safe_punct ; ├─ safe_punct & ├─ word 10 ├─ safe_punct ; └─ word bar └─ block \n └─ unknown_block \n
Example 598
✅ PASSED
Rule: document
foo\n
document &#9;foo\n ├─ block &#9;foo └─ paragraph &#9;foo └─ paragraph_line &#9;foo └─ inline &#9;foo └─ inline_core &#9;foo └─ text &#9;foo ├─ safe_punct & ├─ word 9 ├─ safe_punct ; └─ word foo └─ block \n └─ unknown_block \n
Example 599
✅ PASSED
Rule: document
[a](url "tit")\n
document [a](url &quot;tit&quot;)\n ├─ block [a](url &quot;tit&quot;) └─ paragraph [a](url &quot;tit&quot;) └─ paragraph_line [a](url &quot;tit&quot;) └─ inline [a](url &quot;tit&quot;) └─ inline_core [a](url &quot;tit&quot;) └─ text [a](url &quot;tit&quot;) ├─ word a ├─ safe_punct ( ├─ word url ├─ safe_punct & ├─ word quot ├─ safe_punct ; ├─ word tit ├─ safe_punct & ├─ word quot ├─ safe_punct ; └─ safe_punct ) └─ block \n └─ unknown_block \n
Comprehensive Marco Grammar Tests - Images 4/4 passed
Example 139
✅ PASSED
Rule: document
![alt text](image.jpg)
document ![alt text](image.jpg) └─ block ![alt text](image.jpg) └─ paragraph ![alt text](image.jpg) └─ paragraph_line ![alt text](image.jpg) └─ inline ![alt text](image.jpg) └─ inline_core ![alt text](image.jpg) └─ inline_image ![alt text](image.jpg) ├─ inline_link_text alt text └─ link_url image.jpg
Example 140
✅ PASSED
Rule: document
![](image.png)
document ![](image.png) └─ block ![](image.png) └─ paragraph ![](image.png) └─ paragraph_line ![](image.png) └─ inline ![](image.png) └─ inline_core ![](image.png) └─ inline_image ![](image.png) ├─ inline_link_text └─ link_url image.png
Example 141
✅ PASSED
Rule: document
![remote](https://example.com/image.png)
document ![remote](https://example.com/image.png) └─ block ![remote](https://example.com/image.png) └─ paragraph ![remote](https://example.com/image.png) └─ paragraph_line ![remote](https://example.com/image.png) └─ inline ![remote](https://example.com/image.png) └─ inline_core ![remote](https://example.com/image.png) └─ inline_image ![remote](https://example.com/image.png) ├─ inline_link_text remote └─ link_url https://example.com/image.png
Example 142
✅ PASSED
Rule: document
![A very detailed alt text](image.jpg)
document ![A very detailed alt text](image.jpg) └─ block ![A very detailed alt text](image.jpg) └─ paragraph ![A very detailed alt text](image.jpg) └─ paragraph_line ![A very detailed alt text](image.jpg) └─ inline ![A very detailed alt text](image.jpg) └─ inline_core ![A very detailed alt text](image.jpg) └─ inline_image ![A very detailed alt text](image.jpg) ├─ inline_link_text A very detailed alt text └─ link_url image.jpg
Comprehensive Marco Grammar Tests - Unicode Advanced 13/13 passed
Example 389
✅ PASSED
Rule: document
مرحبا بالعالم **نص عريض** *نص مائل*
document مرحبا بالعالم **نص عريض** *نص مائل* └─ block مرحبا بالعالم **نص عريض** *نص مائل* └─ paragraph مرحبا بالعالم **نص عريض** *نص مائل* └─ paragraph_line مرحبا بالعالم **نص عريض** *نص مائل* ├─ inline مرحبا بالعالم └─ inline_core مرحبا بالعالم └─ text مرحبا بالعالم ├─ word مرحبا └─ word بالعالم ├─ inline **نص عريض** └─ inline_core **نص عريض** └─ emphasis **نص عريض** └─ bold **نص عريض** └─ bold_asterisk **نص عريض** └─ inline *نص مائل* └─ inline_core *نص مائل* └─ emphasis *نص مائل* └─ italic *نص مائل* └─ italic_asterisk *نص مائل*
Example 390
✅ PASSED
Rule: document
שלום עולם **טקסט מודגש** *טקסט נטוי*
document שלום עולם **טקסט מודגש** *טקסט נטוי* └─ block שלום עולם **טקסט מודגש** *טקסט נטוי* └─ paragraph שלום עולם **טקסט מודגש** *טקסט נטוי* └─ paragraph_line שלום עולם **טקסט מודגש** *טקסט נטוי* ├─ inline שלום עולם └─ inline_core שלום עולם └─ text שלום עולם ├─ word שלום └─ word עולם ├─ inline **טקסט מודגש** └─ inline_core **טקסט מודגש** └─ emphasis **טקסט מודגש** └─ bold **טקסט מודגש** └─ bold_asterisk **טקסט מודגש** └─ inline *טקסט נטוי* └─ inline_core *טקסט נטוי* └─ emphasis *טקסט נטוי* └─ italic *טקסט נטוי* └─ italic_asterisk *טקסט נטוי*
Example 391
✅ PASSED
Rule: document
Hello מרحبا world بالعالم!
document Hello מרحبا world بالعالم! └─ block Hello מרحبا world بالعالم! └─ paragraph Hello מרحبا world بالعالم! └─ paragraph_line Hello מרحبا world بالعالم! └─ inline Hello מרحبا world بالعالم! └─ inline_core Hello מרحبا world بالعالم! └─ text Hello מרحبا world بالعالم! ├─ word Hello ├─ word מרحبا ├─ word world ├─ word بالعالم └─ safe_punct !
Example 392
✅ PASSED
Rule: document
👨‍👩‍👧‍👦 👍🏽 🇺🇸 🏳️‍🌈
document 👨‍👩‍👧‍👦 👍🏽 🇺🇸 🏳️‍🌈 └─ block 👨‍👩‍👧‍👦 👍🏽 🇺🇸 🏳️‍🌈 └─ paragraph 👨‍👩‍👧‍👦 👍🏽 🇺🇸 🏳️‍🌈 └─ paragraph_line 👨‍👩‍👧‍👦 👍🏽 🇺🇸 🏳️‍🌈 └─ inline 👨‍👩‍👧‍👦 👍🏽 🇺🇸 🏳️‍🌈 └─ inline_core 👨‍👩‍👧‍👦 👍🏽 🇺🇸 🏳️‍🌈 └─ text 👨‍👩‍👧‍👦 👍🏽 🇺🇸 🏳️‍🌈
Example 393
✅ PASSED
Rule: document
**👍 bold emoji** *🎉 italic emoji*
document **👍 bold emoji** *🎉 italic emoji* └─ block **👍 bold emoji** *🎉 italic emoji* └─ paragraph **👍 bold emoji** *🎉 italic emoji* └─ paragraph_line **👍 bold emoji** *🎉 italic emoji* ├─ inline **👍 bold emoji** └─ inline_core **👍 bold emoji** └─ emphasis **👍 bold emoji** └─ bold **👍 bold emoji** └─ bold_asterisk **👍 bold emoji** └─ inline *🎉 italic emoji* └─ inline_core *🎉 italic emoji* └─ emphasis *🎉 italic emoji* └─ italic *🎉 italic emoji* └─ italic_asterisk *🎉 italic emoji*
Example 394
✅ PASSED
Rule: document
[🔗 emoji link](https://example.com)
document [🔗 emoji link](https://example.com) └─ block [🔗 emoji link](https://example.com) └─ paragraph [🔗 emoji link](https://example.com) └─ paragraph_line [🔗 emoji link](https://example.com) └─ inline [🔗 emoji link](https://example.com) └─ inline_core [🔗 emoji link](https://example.com) └─ inline_link [🔗 emoji link](https://example.com) └─ bracket_link_without_title [🔗 emoji link](https://example.com)
Example 395
✅ PASSED
Rule: document
text\u200Dwith\u200Dzwj
document text\u200Dwith\u200Dzwj ├─ block text └─ paragraph text └─ paragraph_line text └─ inline text └─ inline_core text └─ text text └─ word text └─ block \u200Dwith\u200Dzwj └─ unknown_block \u200Dwith\u200Dzwj
Example 396
✅ PASSED
Rule: document
text\u200Cwith\u200Cznj
document text\u200Cwith\u200Cznj ├─ block text └─ paragraph text └─ paragraph_line text └─ inline text └─ inline_core text └─ text text └─ word text └─ block \u200Cwith\u200Cznj └─ unknown_block \u200Cwith\u200Cznj
Example 397
✅ PASSED
Rule: document
text\u200Bwith\u200Bzws
document text\u200Bwith\u200Bzws ├─ block text └─ paragraph text └─ paragraph_line text └─ inline text └─ inline_core text └─ text text └─ word text └─ block \u200Bwith\u200Bzws └─ unknown_block \u200Bwith\u200Bzws
Example 398
✅ PASSED
Rule: document
e\u0301\u0302\u0303\u0304" # e with multiple combining marks
document e\u0301\u0302\u0303\u0304" # e with multiple combining marks ├─ block e └─ paragraph e └─ paragraph_line e └─ inline e └─ inline_core e └─ text e └─ word e └─ block \u0301\u0302\u0303\u0304" # e with multiple combining marks └─ unknown_block \u0301\u0302\u0303\u0304" # e with multiple combining marks
Example 399
✅ PASSED
Rule: document
café vs cafe\u0301" # NFC vs NFD
document café vs cafe\u0301" # NFC vs NFD ├─ block café vs cafe └─ paragraph café vs cafe └─ paragraph_line café vs cafe └─ inline café vs cafe └─ inline_core café vs cafe └─ text café vs cafe ├─ word café ├─ word vs └─ word cafe └─ block \u0301" # NFC vs NFD └─ unknown_block \u0301" # NFC vs NFD
Example 400
✅ PASSED
Rule: document
𝕳𝖊𝖑𝖑𝖔 𝖜𝖔𝖗𝖑𝖉" # Mathematical bold fraktur
document 𝕳𝖊𝖑𝖑𝖔 𝖜𝖔𝖗𝖑𝖉" # Mathematical bold fraktur └─ block 𝕳𝖊𝖑𝖑𝖔 𝖜𝖔𝖗𝖑𝖉" # Mathematical bold fraktur └─ paragraph 𝕳𝖊𝖑𝖑𝖔 𝖜𝖔𝖗𝖑𝖉" # Mathematical bold fraktur └─ paragraph_line 𝕳𝖊𝖑𝖑𝖔 𝖜𝖔𝖗𝖑𝖉" # Mathematical bold fraktur └─ inline 𝕳𝖊𝖑𝖑𝖔 𝖜𝖔𝖗𝖑𝖉" # Mathematical bold fraktur └─ inline_core 𝕳𝖊𝖑𝖑𝖔 𝖜𝖔𝖗𝖑𝖉" # Mathematical bold fraktur └─ text 𝕳𝖊𝖑𝖑𝖔 𝖜𝖔𝖗𝖑𝖉" # Mathematical bold fraktur ├─ word 𝕳𝖊𝖑𝖑𝖔 ├─ word 𝖜𝖔𝖗𝖑𝖉 ├─ safe_punct " ├─ word Mathematical ├─ word bold └─ word fraktur
Example 401
✅ PASSED
Rule: document
𝄞 𝄢 𝅘𝅥 𝅘𝅥𝅮
document 𝄞 𝄢 𝅘𝅥 𝅘𝅥𝅮 └─ block 𝄞 𝄢 𝅘𝅥 𝅘𝅥𝅮 └─ paragraph 𝄞 𝄢 𝅘𝅥 𝅘𝅥𝅮 └─ paragraph_line 𝄞 𝄢 𝅘𝅥 𝅘𝅥𝅮 └─ inline 𝄞 𝄢 𝅘𝅥 𝅘𝅥𝅮 └─ inline_core 𝄞 𝄢 𝅘𝅥 𝅘𝅥𝅮 └─ text 𝄞 𝄢 𝅘𝅥 𝅘𝅥𝅮
Comprehensive Marco Grammar Tests - Commonmark Thematic Breaks 19/19 passed
Example 1026
✅ PASSED
Rule: document
***\n---\n___\n
document ***\n---\n___\n ├─ block *** └─ hr *** └─ hr_star *** └─ block \n---\n___\n └─ unknown_block \n---\n___\n
Example 1027
✅ PASSED
Rule: document
+++\n
document +++\n ├─ block +++ └─ paragraph +++ └─ paragraph_line +++ └─ inline +++ └─ inline_core +++ └─ text +++ ├─ math_symbol + ├─ math_symbol + └─ math_symbol + └─ block \n └─ unknown_block \n
Example 1028
✅ PASSED
Rule: document
===\n
document ===\n ├─ block === └─ paragraph === └─ paragraph_line === └─ inline === └─ inline_core === └─ text === ├─ math_symbol = ├─ math_symbol = └─ math_symbol = └─ block \n └─ unknown_block \n
Example 1029
✅ PASSED
Rule: document
--\n**\n__\n
document --\n**\n__\n ├─ block -- └─ paragraph -- └─ paragraph_line -- └─ inline -- └─ inline_core -- └─ text -- └─ block \n**\n__\n └─ unknown_block \n**\n__\n
Example 1030
✅ PASSED
Rule: document
***\n ***\n ***\n
document ***\n ***\n ***\n ├─ block *** └─ hr *** └─ hr_star *** └─ block \n ***\n ***\n └─ unknown_block \n ***\n ***\n
Example 1031
✅ PASSED
Rule: document
***\n
document ***\n ├─ block *** └─ hr *** └─ hr_star *** └─ block \n └─ unknown_block \n
Example 1032
✅ PASSED
Rule: document
Foo\n ***\n
document Foo\n ***\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n ***\n └─ unknown_block \n ***\n
Example 1033
✅ PASSED
Rule: document
_____________________________________\n
document _____________________________________\n ├─ block _____________________________________ └─ hr _____________________________________ └─ hr_underscore _____________________________________ └─ block \n └─ unknown_block \n
Example 1034
✅ PASSED
Rule: document
- - -\n
document - - -\n ├─ block - - - └─ hr - - - └─ hr_dash - - - └─ block \n └─ unknown_block \n
Example 1035
✅ PASSED
Rule: document
** * ** * ** * **\n
document ** * ** * ** * **\n ├─ block ** * ** * ** * ** └─ hr ** * ** * ** * ** └─ hr_star ** * ** * ** * ** └─ block \n └─ unknown_block \n
Example 1036
✅ PASSED
Rule: document
- - - -\n
document - - - -\n ├─ block - - - - └─ hr - - - - └─ hr_dash - - - - └─ block \n └─ unknown_block \n
Example 1037
✅ PASSED
Rule: document
- - - - \n
document - - - - \n ├─ block - - - - └─ hr - - - - └─ hr_dash - - - - └─ block \n └─ unknown_block \n
Example 1038
✅ PASSED
Rule: document
_ _ _ _ a\n\na------\n\n---a---\n
document _ _ _ _ a\n\na------\n\n---a---\n ├─ block _ _ _ _ └─ hr _ _ _ _ └─ hr_underscore _ _ _ _ ├─ block a └─ paragraph a └─ paragraph_line a └─ inline a └─ inline_core a └─ text a └─ word a └─ block \n\na------\n\n---a---\n └─ unknown_block \n\na------\n\n---a---\n
Example 1039
✅ PASSED
Rule: document
*-*\n
document *-*\n ├─ block *-* └─ paragraph *-* └─ paragraph_line *-* └─ inline *-* └─ inline_core *-* └─ emphasis *-* └─ italic *-* └─ italic_asterisk *-* └─ block \n └─ unknown_block \n
Example 1040
✅ PASSED
Rule: document
- foo\n***\n- bar\n
document - foo\n***\n- bar\n └─ block - foo\n***\n- bar\n └─ list - foo\n***\n- bar\n └─ list_item - foo\n***\n- bar\n └─ regular_list_item - foo\n***\n- bar\n ├─ list_marker - └─ list_item_content foo\n***\n- bar\n
Example 1041
✅ PASSED
Rule: document
Foo\n***\nbar\n
document Foo\n***\nbar\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n***\nbar\n └─ unknown_block \n***\nbar\n
Example 1042
✅ PASSED
Rule: document
Foo\n---\nbar\n
document Foo\n---\nbar\n ├─ block Foo └─ paragraph Foo └─ paragraph_line Foo └─ inline Foo └─ inline_core Foo └─ text Foo └─ word Foo └─ block \n---\nbar\n └─ unknown_block \n---\nbar\n
Example 1043
✅ PASSED
Rule: document
* Foo\n* * *\n* Bar\n
document * Foo\n* * *\n* Bar\n └─ block * Foo\n* * *\n* Bar\n └─ list * Foo\n* * *\n* Bar\n └─ list_item * Foo\n* * *\n* Bar\n └─ regular_list_item * Foo\n* * *\n* Bar\n ├─ list_marker * └─ list_item_content Foo\n* * *\n* Bar\n
Example 1044
✅ PASSED
Rule: document
- Foo\n- * * *\n
document - Foo\n- * * *\n └─ block - Foo\n- * * *\n └─ list - Foo\n- * * *\n └─ list_item - Foo\n- * * *\n └─ regular_list_item - Foo\n- * * *\n ├─ list_marker - └─ list_item_content Foo\n- * * *\n
Comprehensive Marco Grammar Tests - Commonmark Inlines 1/1 passed
Example 1104
✅ PASSED
Rule: document
`hi`lo`\n
document `hi`lo`\n ├─ block `hi`lo` └─ paragraph `hi`lo` └─ paragraph_line `hi`lo` ├─ inline `hi` └─ inline_core `hi` └─ code_inline `hi` └─ inline lo` └─ inline_core lo` └─ text lo` └─ word lo └─ block \n └─ unknown_block \n
Summary: 1199 passed • 5 failed • 0 expected failures • 1 unknown rules